/* =========================
RESET + BASE
========================= */

img{
  max-width:100%;
  height:auto;
}

:root{
 --header-altura: 220px;
 --dorado:#c8a96a;
 --dorado-soft:#e7d3a3;
 --fondo:#0b0f1a;
}

*{
 margin:0;
 padding:0;
 box-sizing:border-box;
}

body{
 background:#0a0f1c;
 color:white;
 font-family:'Inter', system-ui,-apple-system,Segoe UI,Roboto;
 line-height:1.6;
}

/* =========================
FONDO
========================= */

#neuronal-bg{
 position:fixed;
 top:0;
 left:0;
 width:100%;
 height:100%;
 z-index:-1;
 pointer-events:none;
}



#neuronal-bg{
  opacity: 0.8;          /* más visible */
  filter: contrast(1.2) brightness(1.1);
}



/* =========================
HEADER
========================= */

header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:9999;
 
  padding:10px 0; /* 👈 controla altura real */
 
  background: rgba(20,20,20,0.55);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(255,255,255,0.05);
 
  transition: all 0.3s ease;
 }

header.scrolled{
 background: rgba(20,20,20,0.85);
 box-shadow:0 5px 20px rgba(0,0,0,0.4);
}

.nav-container{
  display:flex;
  justify-content:space-between;
  align-items:center;
 
  max-width:1200px;
  margin:auto;
  padding:10px 30px;
 
  gap:20px;
  flex-wrap:wrap; /* 👈 ESTO SOLUCIONA EL CORTE */
 }

/* LOGO */

.logo{
 display:flex;
 align-items:center;
 justify-content:center;
 height:100%;
}

.logo img{
  width:100%;
  max-width:100px; /* ajustá tamaño */
  height:auto;
  object-fit:contain;
  border-radius:50%;
  display:block;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  animation: floatLogo 4s ease-in-out infinite;
}


.logo img:hover{
  transform: scale(1.18);
  box-shadow:
    0 10px 25px rgba(0,0,0,0.4),
    0 0 20px rgba(201,169,110,0.6);
}




@keyframes floatLogo{
 0%{ transform:translateY(0); }
 50%{ transform:translateY(-4px); }
 100%{ transform:translateY(0); }
}

.logo img:hover{
 transform: scale(1.18);
 box-shadow:0 10px 25px rgba(0,0,0,0.4),
            0 0 20px rgba(201,169,110,0.6);
}

/* HEADER LAYOUT */

.header-izquierda{
 width:25%;
 display:flex;
 justify-content:center;
 align-items:center;
 border-right:1px solid rgba(201,169,110,0.3);
 padding-right:20px;
}

.header-derecha{
  width:auto; /* ❌ antes 75% */
  flex:1;     /* 👈 se adapta */
 
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:5px;
 }

.header-texto{
 font-size:14px;
 letter-spacing:2px;
 color:#c9a96e;
 text-align:right;
 margin-bottom:5px;
}

.header-texto span{
 font-size:12px;
 color:#ddd;
}

/* NAV */

nav{
 display:flex;
 align-items:center;
 gap:15px;
 flex-wrap:wrap;
 justify-content:flex-end;
}

nav a,
nav span{
 color:white;
 text-decoration:none;
 position:relative;
 cursor:pointer;
}

nav a:hover,
nav span:hover{
 color:#d4af37;
}

/* subrayado animado */

nav a::after,
nav span::after{
 content:"";
 position:absolute;
 left:0;
 bottom:-4px;
 width:0%;
 height:2px;
 background:linear-gradient(90deg,#c9a96e,#e6c88f);
 transition:width 0.3s ease;
}

nav a:hover::after,
nav span:hover::after{
 width:100%;
}

/* DROPDOWN */

.dropdown{
 position:relative;
}

.dropdown-menu{
 position:absolute;
 top:40px;
 left:0;
 background:rgba(20,20,20,0.95);
 backdrop-filter:blur(10px);
 border:1px solid rgba(255,255,255,0.1);
 border-radius:8px;
 min-width:220px;

 opacity:0;
 visibility:hidden;
 transform:translateY(10px);
 transition:0.3s;

 display:flex;
 flex-direction:column;
}

.dropdown:hover .dropdown-menu{
 opacity:1;
 visibility:visible;
 transform:translateY(0);
}

.dropdown-menu a{
 padding:12px 18px;
 border-bottom:1px solid rgba(255,255,255,0.05);
}

.dropdown-menu a:hover{
 background:rgba(212,175,55,0.15);
}

/* =========================
SECCIONES
========================= */


 section{
 padding:20px 20px 100px;

 scroll-margin-top:120px;
 background: rgba(10,15,28,0.4);
 backdrop-filter: blur(3px);
 box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
 position:relative;
}

section::before{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent 40%);
 pointer-events:none;
}

/* =========================
GRID
========================= */

.grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:30px;
}

@media(max-width:900px){
 .grid{ grid-template-columns:repeat(2,1fr); }
}

@media(max-width:600px){
 .grid{ grid-template-columns:1fr; }
}

/* =========================
CARDS
========================= */

.card{
 position:relative;
 background:rgba(20,20,20,0.7);
 backdrop-filter:blur(8px);
 border:1px solid rgba(255,255,255,0.08);
 padding:25px;
 border-radius:12px;
 transition:0.25s;
 overflow:hidden;
 cursor:pointer;
 z-index:10;
}

.card:hover{
 transform:translateY(-8px) scale(1.02);
 border-color:#d4af37;
 box-shadow:0 15px 40px rgba(0,0,0,0.6);
}

/* efectos */

.card::before,
.card::after{
 content:"";
 position:absolute;
 inset:0;
}

.card::before{
 left:-100%;
 background:linear-gradient(120deg,transparent,rgba(255,255,255,0.1),transparent);
 transition:0.5s;
}

.card:hover::before{
 left:100%;
}

.card::after{
 background:linear-gradient(120deg,transparent,rgba(255,255,255,0.06),transparent);
 opacity:0;
 transition:0.4s;
}

.card:hover::after{
 opacity:1;
}

/* =========================
TITULOS
========================= */

h1,h2,h3{
 font-family:'Playfair Display', serif;
 letter-spacing:0.5px;
}

.titulo-seccion{
 text-align:center;
 font-size:32px;
 font-weight:600;
 color:var(--dorado);
}

.titulo-seccion::after{
 content:"";
 display:block;
 width:80px;
 height:2px;
 margin:15px auto 0;
 background:linear-gradient(90deg,transparent,var(--dorado),transparent);
}

/* =========================
FORMULARIO
========================= */

.formulario-box{
 background:rgba(15,15,20,0.95);
 border:1px solid rgba(200,169,106,0.2);
 padding:40px;
 border-radius:12px;
 box-shadow:0 20px 50px rgba(0,0,0,0.6);
}

form input,
form textarea,
form select{
 width:100%;
 margin-bottom:15px;
 padding:12px;
 border-radius:8px;
 border:1px solid rgba(255,255,255,0.1);
 background:#0b0f1a;
 color:white;
}

form input:focus,
form textarea:focus{
 outline:none;
 border-color:var(--dorado);
 box-shadow:0 0 10px rgba(200,169,106,0.3);
}

/* =========================
FAQ
========================= */

.faq-item{
 display:none;
 background: rgba(20,20,20,0.7);
 padding:20px;
 border-radius:10px;
 margin-bottom:10px;
 border:1px solid rgba(255,255,255,0.1);
}

.faq-item.visible{
 display:block;
 animation:fadeIn 0.3s ease;
}

#faq-buscador{
 width:100%;
 max-width:500px;
 margin:20px auto;
 display:block;
 padding:12px;
 border-radius:8px;
 border:1px solid rgba(212,175,55,0.4);
 background:#111;
 color:white;
}




/* =========================
MODAL FIX DEFINITIVO
========================= */

.modal-tecnica{
  display:none;
  position:fixed;
  inset:0;

  background:rgba(0,0,0,0.75);
  backdrop-filter:blur(8px);

  justify-content:center;
  align-items:center;

  z-index:9999;
}

/* CONTENEDOR */
.modal-contenido{
  width:90%;
  max-width:600px;

  padding:30px;

  background: linear-gradient(
    145deg,
    rgba(20,20,30,0.9),
    rgba(10,10,15,0.98)
  );

  border-radius:14px;
  border:1px solid rgba(212,175,55,0.3);

  box-shadow:
    0 20px 50px rgba(0,0,0,0.7),
    0 0 25px rgba(212,175,55,0.15);

  color:#e3dcc6;

  position:relative;

  /* 👇 CLAVE */
  display:block;
}

/* BOTON CERRAR */
.modal-contenido span{
  position:absolute;
  top:15px;
  right:20px;
  font-size:22px;
  cursor:pointer;
  color:#d4af37;
}

/* TITULO */
#modal-titulo{
  display:block;
  width:100%;

  font-size:24px;
  margin-bottom:15px;
  color:#d4af37;
}

/* TEXTO */
#modal-texto{
  display:block;
  width:100%;

  font-size:15.5px;
  line-height:1.7;

  color:#dcd6c0;

  /* 👇 ESTO EVITA QUE SE VAYA A LA DERECHA */
  white-space:normal;
  overflow-wrap:break-word;
}

/* LISTAS */
.modal-contenido ul{
  padding-left:20px;
}

.modal-contenido li{
  margin-bottom:8px;
}







/* =========================
MODAL PRO LIMPIO
========================= */




/* =========================
FOOTER
========================= */

footer{
 background:#000;
 padding:40px;
 text-align:center;
 border-top:1px solid #333;
}

footer p{
 margin-bottom:10px;
 color:#aaa;
}

footer a{
 color:#d4af37;
 text-decoration:none;
}

.credito-web{
 margin-top:20px;
 font-size:13px;
 opacity:0.7;
}

/* =========================
ANIMACIONES
========================= */

@keyframes fadeIn{
 from{opacity:0;}
 to{opacity:1;}
}

@keyframes modalIn{
 from{opacity:0; transform:translateY(30px) scale(0.95);}
 to{opacity:1; transform:translateY(0) scale(1);}
}


/* CONTENEDOR GENERAL */
.servicios-contenedor{
  display:flex;
  gap:40px;
  max-width:1200px;   /* 👈 CLAVE */
  margin:0 auto;      /* 👈 CENTRA TODO */
}


/* BLOQUES */
.bloque-servicios{
  flex:1;
}

/* TITULOS */
.subgrupo{
  margin-bottom:20px;
  color:transparent;
  text-align:center;
}

/* JURIDICOS → 2 COLUMNAS */
.grid-juridicos{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:20px;
  }


/* PARTICULARES → 1 COLUMNA */
.grid-particulares{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  max-width:350px;
  margin:auto;
}

/* RESPONSIVE */
@media(max-width:768px){

  .servicios-contenedor{
    flex-direction:column;
  }

}


.badge-proximamente{
  position:absolute;
  top:10px;
  right:10px;

  background: rgba(212,175,55,0.15);
  border:1px solid rgba(212,175,55,0.4);

  color:#f1d07a;

  font-size:10px;
  letter-spacing:1px;
  font-weight:600;

  padding:5px 10px;
  border-radius:20px;

  backdrop-filter: blur(4px);
}



@keyframes pulsePro{
  0%{
    transform:scale(1);
    box-shadow:
      0 0 10px rgba(212,175,55,0.6),
      0 0 20px rgba(212,175,55,0.4);
  }

  50%{
    transform:scale(1.08);
    box-shadow:
      0 0 15px rgba(212,175,55,0.9),
      0 0 30px rgba(212,175,55,0.7);
  }

  100%{
    transform:scale(1);
    box-shadow:
      0 0 10px rgba(212,175,55,0.6),
      0 0 20px rgba(212,175,55,0.4);
  }
}


.badge-proximamente{
  animation:none;
}

.card:hover .badge-proximamente{
  animation:pulsePro 1.5s infinite;
}






/* =========================
FAB PRO MAX
========================= */

.fab-container{
  position: fixed;
  bottom: 80px;
  right: 30px;
  z-index: 9999;
}

/* botón principal */
.fab-main{
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 1px solid rgba(212,175,55,0.4);
  cursor: pointer;
  background: linear-gradient(
    145deg,
    rgba(20,20,25,0.95),
    rgba(10,10,15,0.98)
  );

  position: relative;
  z-index: 2;

  color: #f1d07a;
  font-size: 22px;

  box-shadow:
    0 10px 25px rgba(0,0,0,0.6),
    0 0 15px rgba(212,175,55,0.2);

  transition: all 0.3s ease;
}

/* hover */
.fab-main:hover{
  transform: scale(1.08) rotate(8deg);

  background: linear-gradient(
    135deg,
    #c8a96a,
    #f1d07a
  );

  color:#000;

  box-shadow:
    0 15px 35px rgba(0,0,0,0.7),
    0 0 25px rgba(212,175,55,0.6);
}


.fab-main::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;

  background: radial-gradient(
    circle,
    rgba(212,175,55,0.35),
    rgba(212,175,55,0.15),
    transparent 70%
  );

  z-index:-1;

  animation: haloPulse 2.5s ease-in-out infinite;
}


.fab-main:hover::before{
  animation:none;
  opacity:0.8;
}


/* menú oculto */
.fab-menu{
  display: flex;
  flex-direction: column;
  gap: 10px;

  position: absolute;
  bottom: 70px;
  right: 0;

  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;

  transition: 0.3s;
}

/* activo */
.fab-container.active .fab-menu{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* items */
.fab-item{
  background: rgba(20,20,20,0.9);
  color: white;
  text-decoration: none;

  padding: 10px 15px;
  border-radius: 30px;

  font-size: 14px;

  border: 1px solid rgba(255,255,255,0.1);

  backdrop-filter: blur(6px);

  transition: all 0.3s ease;
}

/* hover item */
.fab-item:hover{
  background: #d4af37;
  color: black;
  transform: translateX(-5px);
}


.fab-item[href*="wa.me"]:hover{
  background: #25D366;
  color:#000;
}

.fab-item[href^="mailto"]:hover{
  background: linear-gradient(135deg,#d4af37,#f1d07a);
  color:#000;
}

.fab-item[href*="instagram"]:hover{
  background: linear-gradient(
    45deg,
    #f58529,
    #dd2a7b,
    #8134af,
    #515bd4
  );
  color:#fff;
}

.fab-item[href*="facebook"]:hover{
  background:#1877f2;
  color:#fff;
}

.fab-item[href*="linkedin"]:hover{
  background: linear-gradient(
    135deg,
    #8134af,
    #dd2a7b,
  );
  color:#fff;

  box-shadow:
    0 0 12px rgba(10,102,194,0.4);
}


.fab-item:active{
  transform: scale(0.95);
}








@media(max-width:768px){

  .nav-container{
    flex-direction:column;
    padding:15px;
  }

  .header-izquierda,
  .header-derecha{
    width:100%;
    border:none;
    padding:0;
    text-align:center;
    align-items:center;
  }

  .header-derecha{
    margin-top:10px;
  }

  nav{
    justify-content:center;
    gap:10px;
  }
}


/* HERO PRO */

.hero{
  min-height: calc(100vh - var(--header-altura));
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;

  padding: 40px 20px; /* ← MUY IMPORTANTE: bajo */
}


/* badge */

.hero-badge{
  display:inline-block;
  margin-bottom:20px;
  padding:6px 14px;
  border-radius:20px;
  font-size:12px;
  letter-spacing:1px;

  background:rgba(212,175,55,0.15);
  border:1px solid rgba(212,175,55,0.4);
  color:#d4af37;
}

/* titulo */

.hero h1{
  font-size:48px;
  line-height:1.2;
  margin-bottom:15px;
}

.hero h1 span{
  display:block;
  font-size:22px;
  color:#c9a96e;
  font-weight:400;
}

/* subtitulo */

.hero-subtitulo{
  font-size:18px;
  color:#ccc;
  margin-bottom:25px;
}

/* features */

.hero-features{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:30px;
  color:#ddd;
  font-size:15px;
}

/* botones */

.hero-botones{
  display:flex;
  gap:15px;
  justify-content:center;
  flex-wrap:wrap;
}

/* botones estilos (si no los tenés bien definidos) */

.btn-principal{
  background:linear-gradient(135deg,#d4af37,#f1d07a);
  color:#000;
  padding:12px 22px;
  border-radius:30px;
  text-decoration:none;
  font-weight:600;
  transition:0.3s;
}

.btn-principal:hover{
  transform:scale(1.05);
}

.btn-secundario{
  border:1px solid rgba(212,175,55,0.5);
  padding:12px 22px;
  border-radius:30px;
  text-decoration:none;
  color:#d4af37;
  transition:0.3s;
}

.btn-secundario:hover{
  background:#d4af37;
  color:#000;
}

@media(max-width:768px){

  .hero h1{
    font-size:32px;
  }

  .hero h1 span{
    font-size:18px;
  }

  .hero-subtitulo{
    font-size:16px;
  }

}



/* contenedor vertical */
.hero-contenido{
  max-width:800px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* bloque superior (TITULO) */
.hero-top{
  margin-bottom:30px;
}

/* bloque inferior */
.hero-bottom{
  opacity:0.9;
}

/* título más limpio */
.hero h1{
  font-size:48px;
  line-height:1.2;
}

/* subtitulo MÁS CORTO visualmente */
.hero-subtitulo{
  font-size:17px;
  color:#ccc;
  max-width:600px;
  margin:0 auto 20px;
}





#inicio{
  scroll-margin-top: 130px;
}





.hero-contenido{
  width:100%;
  max-width:800px;
  margin:0 auto; /* ESTO LO CENTRA DE VERDAD */
}


/* ANIMACIONES HERO */

/* =========================
ANIMACION HERO PREMIUM PRO
========================= */

/* =========================
ANIMACION HERO PRO LIMPIO
========================= */

.hero-titulo-principal{
  opacity:0;
  transform: translateY(30px);
  animation: tituloPremium 0.9s cubic-bezier(0.22,1,0.36,1) forwards;
}

.hero-subtitulo-fuerte{
  opacity:0;
  transform: translateY(25px);

  animation: tituloPremium 0.9s cubic-bezier(0.22,1,0.36,1) forwards;
  animation-delay:0.2s;
}

/* animación limpia (SIN blur) */
@keyframes tituloPremium{
  0%{
    opacity:0;
    transform: translateY(30px);
  }

  60%{
    opacity:1;
    transform: translateY(-5px);
  }

  100%{
    opacity:1;
    transform: translateY(0);
  }
}



.hero-titulo-principal{
  letter-spacing:0.5px;
}




/* =========================
ANIMACION ESTUDIO JURIDICO
========================= */

.hero-titulo-principal{
  opacity:0;
  transform: translateY(20px);

  animation: aparecerTitulo 0.8s ease-out forwards;
}

.hero-subtitulo-fuerte{
  opacity:0;
  transform: translateY(15px);

  animation: aparecerTitulo 0.8s ease-out forwards;
  animation-delay:0.2s;
}

@keyframes aparecerTitulo{
  to{
    opacity:1;
    transform: translateY(0);
  }
}


.hero-titulo-principal::after{
  content:"";
  display:block;
  width:0;
  height:2px;
  margin:18px auto 0;

  background: linear-gradient(
    90deg,
    transparent,
    #c8a96a,
    #f1d07a,
    transparent
  );

  animation: lineaFirma 1s ease-out forwards;
  animation-delay:0.5s;
}

@keyframes lineaFirma{
  to{
    width:80px;
  }
}























/* brillo */
@keyframes brilloTitulo{
  0%{ background-position:0% center; }
  100%{ background-position:200% center; }
}


.hero-titulo-principal{
  font-size: clamp(38px, 5vw, 52px);
  font-weight:600;

  background: linear-gradient(
    120deg,
    #b8963a,
    #f1d07a,
    #fff3b0,
    #f1d07a,
    #b8963a
  );

  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  letter-spacing:0.6px;
  text-shadow:
    0 2px 6px rgba(0,0,0,0.6);
  opacity:0;
  transform: translateY(20px);
  animation: aparecerTitulo 0.9s ease-out forwards;
}


.hero-titulo-principal::after{
  content:"";
  display:block;
  width:0;
  height:2px;
  margin:20px auto 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(200,169,106,0.4),
    #f1d07a,
    rgba(200,169,106,0.4),
    transparent
  );

  box-shadow:
    0 0 10px rgba(212,175,55,0.4);

  animation: lineaPremium 1.2s ease-out forwards;
  animation-delay:0.4s;
}

@keyframes lineaPremium{
  to{
    width:100px;
  }
}

@keyframes aparecerTitulo{
  0%{
    opacity:0;
    transform: translateY(25px);
  }

  60%{
    opacity:1;
    transform: translateY(-3px);
  }

  100%{
    opacity:1;
    transform: translateY(0);
  }
}





.hero-subtitulo-fuerte{
  font-size:22px;
  color:#d6d0bb;

  letter-spacing:1.2px;

  opacity:0;
  transform: translateY(15px);

  animation: aparecerTitulo 0.9s ease-out forwards;
  animation-delay:0.2s;
}


.hero-sello{
  margin-top:15px;
  font-size:13.5px;
  color:#a8a8a8;
  letter-spacing:0.5px;
  font-style:italic;
}




/* solo animar cuando carga */
body.loaded .hero h1,
body.loaded .hero-subtitulo,
body.loaded .hero-features,
body.loaded .hero-botones{
  animation: fadeUp 0.8s ease forwards;
}

.hero-subtitulo{ animation-delay:0.2s; }
.hero-features{ animation-delay:0.4s; }
.hero-botones{ animation-delay:0.6s; }

@keyframes fadeUp{
  to{
    opacity:1;
    transform: translateY(0);
  }
}


.card{
  transition: all 0.3s ease;
}

.card:hover{
  transform: translateY(-10px) scale(1.03);
  box-shadow:
    0 20px 50px rgba(0,0,0,0.7),
    0 0 20px rgba(212,175,55,0.2);
}


.titulo-principal{
  background: linear-gradient(90deg, #c8a96a, #f1d07a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}




.modal-contenido{
  animation: modalIn 0.35s ease;
}


/* FIX GRID JURIDICO DEFINITIVO */
.grid-juridicos{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
  width:100%;
}

.grid-juridicos .card{
  width:100%;
  max-width: none;
}



/* asegurar ancho completo del bloque */
.bloque-servicios{
  width:100%;
  margin-bottom:40px;
}



/* =========================
DORADO PREMIUM REALISTA
========================= */

:root{
  --dorado-pro: linear-gradient(
    120deg,
    #8f6b1f 0%,
    #c8a96a 20%,
    #f1d07a 40%,
    #fff3b0 50%,
    #f1d07a 60%,
    #c8a96a 80%,
    #8f6b1f 100%
  );
}

/* TITULOS PRINCIPALES */
.titulo-principal,
.titulo-seccion,
.subgrupo,
#modal-titulo,
.hero h1{
  background: var(--dorado-pro);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  /* profundidad */
  text-shadow:
    0 1px 1px rgba(0,0,0,0.4),
    0 0 6px rgba(212,175,55,0.25);

  letter-spacing:0.6px;
}



nav a:hover,
nav span:hover{
  background: var(--dorado-pro);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}








/* brillo suave en dorados */
.titulo-principal,
.titulo-seccion,
.subgrupo,
#modal-titulo,
.hero h1{

  background: linear-gradient(
    120deg,
    #8f6b1f,
    #c8a96a,
    #f1d07a,
    #fff3b0,
    #f1d07a,
    #c8a96a,
    #8f6b1f
  );

  background-size: 200% auto;

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  text-shadow:
    0 1px 2px rgba(0,0,0,0.5),
    0 0 8px rgba(212,175,55,0.25);

  animation: brilloDorado 6s linear infinite;
}

/* animación MUY suave */
@keyframes brilloDorado{
  0%{ background-position: 0% center; }
  100%{ background-position: 200% center; }
}


.titulo-principal:hover,
.titulo-seccion:hover,
.subgrupo:hover{
  text-shadow:
    0 2px 6px rgba(0,0,0,0.6),
    0 0 12px rgba(212,175,55,0.5);
}


section{
  background: rgba(10,15,28,0.55); /* un poco más sólido */
}


@media(max-width:768px){

  .titulo-principal,
  .titulo-seccion,
  .subgrupo,
  #modal-titulo,
  .hero h1{

    animation:none; /* sin animación en mobile */

    background: linear-gradient(
      90deg,
      #c8a96a,
      #f1d07a,
      #c8a96a
    );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }

}


:root{
  --fondo:#0a0f1c;
  --fondo-2:#0f1629;

  --dorado-1:#8f6b1f;
  --dorado-2:#c8a96a;
  --dorado-3:#f1d07a;
  --dorado-4:#fff3b0;

  --dorado-pro: linear-gradient(
    120deg,
    var(--dorado-1),
    var(--dorado-2),
    var(--dorado-3),
    var(--dorado-4),
    var(--dorado-3),
    var(--dorado-2),
    var(--dorado-1)
  );
}


.titulo-principal,
.titulo-seccion,
.subgrupo,
#modal-titulo,
.hero h1{

  background: var(--dorado-pro);
  background-size:200% auto;

  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;

  text-shadow:
    0 2px 4px rgba(0,0,0,0.6),
    0 0 10px rgba(212,175,55,0.25);

  animation: brilloDorado 7s linear infinite;
}

@keyframes brilloDorado{
  0%{ background-position:0% center; }
  100%{ background-position:200% center; }
}


body{
  background:
    radial-gradient(circle at 20% 20%, rgba(212,175,55,0.08), transparent 40%),
    radial-gradient(circle at 80% 0%, rgba(212,175,55,0.06), transparent 40%),
    #0a0f1c;
}


.card{
  background: linear-gradient(
    145deg,
    rgba(20,20,30,0.85),
    rgba(10,10,15,0.95)
  );

  border:1px solid rgba(212,175,55,0.15);

  box-shadow:
    0 10px 30px rgba(0,0,0,0.6),
    inset 0 0 20px rgba(255,255,255,0.02);

  transition: all 0.35s ease;
}

.card:hover{
  transform: translateY(-10px) scale(1.03);

  border:1px solid rgba(212,175,55,0.4);

  box-shadow:
    0 25px 60px rgba(0,0,0,0.8),
    0 0 25px rgba(212,175,55,0.25);
}


.btn-principal{
  background: linear-gradient(135deg,#d4af37,#f1d07a);

  box-shadow:
    0 10px 25px rgba(0,0,0,0.4),
    0 0 15px rgba(212,175,55,0.4);

  transition:0.3s;
}

.btn-principal:hover{
  transform:scale(1.07);

  box-shadow:
    0 15px 35px rgba(0,0,0,0.6),
    0 0 25px rgba(212,175,55,0.7);
}


.modal-contenido{
  background: linear-gradient(
    145deg,
    rgba(18,18,25,0.95),
    rgba(8,8,12,0.98)
  );

  border:1px solid rgba(212,175,55,0.25);

  box-shadow:
    0 30px 80px rgba(0,0,0,0.9),
    0 0 30px rgba(212,175,55,0.2);
}


nav a:hover{
  background: var(--dorado-pro);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}


@media(max-width:768px){

  .titulo-principal,
  .titulo-seccion,
  .subgrupo,
  #modal-titulo,
  .hero h1{
    animation:none;

    background: linear-gradient(
      90deg,
      #c8a96a,
      #f1d07a,
      #c8a96a
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
  }

}


/* =========================
FIX DROPDOWN LEGIBILIDAD
========================= */

/* links del menú desplegable */
.dropdown-menu a{
  color: #eaeaea;
  background: transparent;
}

/* hover del dropdown (FONDO dorado + TEXTO oscuro) */
.dropdown-menu a:hover{
  background: linear-gradient(90deg,#c8a96a,#f1d07a);
  color: #000; /* 👈 clave */
}

/* desactivar efecto dorado tipo "texto clip" en dropdown */
.dropdown-menu a:hover{
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
}


.dropdown-menu{
  background: rgba(15,15,20,0.98);
  border:1px solid rgba(212,175,55,0.2);
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
}



/* =========================
DROPDOWN ESTILO PREMIUM SUAVE
========================= */

.dropdown-menu{
  background: rgba(15,15,20,0.75); /* 👈 más transparente */
  backdrop-filter: blur(12px);

  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;

  box-shadow:
    0 10px 30px rgba(0,0,0,0.5);

  overflow: hidden;
}

/* ITEMS */
.dropdown-menu a{
  color: #eaeaea;
  padding: 12px 18px;
  transition: all 0.25s ease;
}

/* HOVER SUAVE (SIN AMARILLO FUERTE) */
.dropdown-menu a:hover{
  background: rgba(212,175,55,0.12); /* 👈 dorado MUY sutil */
  color: #f1d07a; /* dorado suave en texto */
}

/* desactiva dorado agresivo global */
.dropdown-menu a:hover{
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
}


/* =========================
HERO PERICIAS PREMIUM
========================= */

.hero-secundario{
  font-size:26px;
  color:#d6d0bb;
  font-weight:400;
}

/* subtítulo más elegante */
.hero-subtitulo{
  font-size:18px;
  color:#cfcfcf;
  max-width:620px;
  margin:0 auto 25px;
  line-height:1.7;
}

/* features más limpias */
.hero-features{
  gap:10px;
}

.feature-item{
  background: rgba(255,255,255,0.03);
  padding:10px 15px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.05);
  backdrop-filter: blur(4px);
  transition:0.3s;
}

/* hover sutil */
.feature-item:hover{
  background: rgba(212,175,55,0.08);
  border-color: rgba(212,175,55,0.2);
  transform: translateX(5px);
}

/* badge más fino */
.hero-badge{
  background: rgba(212,175,55,0.12);
  border:1px solid rgba(212,175,55,0.3);
  color:#f1d07a;

  font-size:11px;
  letter-spacing:1.5px;
}


.hero-top{
  position:relative;
}

.hero-top::after{
  content:"";
  display:block;
  width:60px;
  height:2px;
  margin:20px auto 0;

  background: linear-gradient(
    90deg,
    transparent,
    #c8a96a,
    #f1d07a,
    transparent
  );

  opacity:0.7;
}


/* TITULO PRINCIPAL (EL MÁS IMPORTANTE) */
.hero-titulo-principal{
  font-size:48px;
  font-weight:700;
  line-height:1.1;

  background: linear-gradient(
    120deg,
    #b8963a,
    #f1d07a,
    #fff3b0,
    #f1d07a,
    #b8963a
  );

  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:
    0 3px 10px rgba(0,0,0,0.6),
    0 0 15px rgba(212,175,55,0.25);
  margin-bottom:10px;
}

/* SUBTITULO MÁS PROFESIONAL */
.hero-subtitulo-fuerte{
  font-size:22px;
  color:#cfcfcf;
  font-weight:400;
  letter-spacing:1px;
  margin-bottom:25px;
}


.hero-titulo-principal::after{
  content:"";
  display:block;
  width:80px;
  height:3px;
  margin:15px auto 0;

  background: linear-gradient(
    90deg,
    transparent,
    #c8a96a,
    #f1d07a,
    transparent
  );

  border-radius:3px;
}


@media(max-width:768px){

  .hero-titulo-principal{
    font-size:36px;
  }

  .hero-subtitulo-fuerte{
    font-size:18px;
  }

}


.hero-titulo-principal{
  font-size: clamp(36px, 5vw, 48px);
}



.hero-titulo-principal{
  line-height:1.15;
  letter-spacing:0.5px;
}


/* diferencial */
.hero-diferencial{
  margin-top:20px;
  font-size:14px;
  color:#cfcfcf;
  opacity:0.9;
  max-width:600px;
  margin-left:auto;
  margin-right:auto;
  line-height:1.6;
}

/* features más ordenadas */
.hero-features{
  margin-top:20px;
}


/* linea divisoria sutil */
.hero-linea{
  width:60px;
  height:2px;
  margin:20px auto;

  background: linear-gradient(
    90deg,
    transparent,
    #c8a96a,
    #f1d07a,
    transparent
  );

  opacity:0.7;
}

/* texto adicional */
.hero-extra-texto{
  font-size:14.5px;
  color:#cfcfcf;
  max-width:600px;
  margin:0 auto;
  line-height:1.6;
  text-align:center;
}


.hero-extra-juridico{
  margin-top:10px;
  font-size:13.5px;
  color:#a9a9a9;
  font-style:italic;
  text-align:center;
  opacity:0.9;
}


/* =========================
DAÑO PSIQUICO PRO
========================= */

.danio-contenedor{
  max-width:1000px;
  margin:auto;
  display:flex;
  flex-direction:column;
  gap:40px;
}

/* intro */
.danio-intro{
  text-align:center;
  max-width:700px;
  margin:auto;
  color:#ccc;
  font-size:16px;
}

/* grid */
.danio-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:25px;
}

.danio-grid .card h3{
  color:#f1d07a;
  margin-bottom:10px;
}

/* cierre */
.danio-cierre{
  background: rgba(20,20,25,0.6);
  padding:25px;
  border-radius:12px;
  border:1px solid rgba(212,175,55,0.15);
  color:#ddd;
  text-align:center;
}

/* detalle premium */
.danio-cierre::before{
  content:"";
  display:block;
  width:60px;
  height:2px;
  margin:0 auto 15px;

  background: linear-gradient(
    90deg,
    transparent,
    #c8a96a,
    #f1d07a,
    transparent
  );
}

/* botón */
.danio-cta{
  text-align:center;
}

/* responsive */
@media(max-width:768px){
  .danio-grid{
    grid-template-columns:1fr;
  }
}


/* =========================
DICTAMEN PERICIAL
========================= */

.danio-dictamen{
  background: rgba(10,10,15,0.8);
  padding:30px;
  border-radius:12px;

  border:1px solid rgba(212,175,55,0.2);

  box-shadow:
    inset 0 0 20px rgba(255,255,255,0.02),
    0 10px 30px rgba(0,0,0,0.6);

  color:#dcd6c0;
  font-size:15px;
  line-height:1.7;

  max-width:800px;
  margin:0 auto;
}

/* título */
.danio-dictamen strong{
  color:#f1d07a;
}

/* efecto documento */
.danio-dictamen::before{
  content:"";
  display:block;
  width:50px;
  height:2px;
  margin-bottom:15px;

  background: linear-gradient(
    90deg,
    #c8a96a,
    #f1d07a
  );
}


/* botón técnico */
.toggle-tecnico{
  margin-top:15px;
  font-size:13px;
  color:#f1d07a;
  cursor:pointer;
  text-align:center;
  opacity:0.8;
  transition:0.3s;
}

.toggle-tecnico:hover{
  opacity:1;
  text-decoration:underline;
}

/* bloque técnico oculto */
.version-tecnica{
  display:none;
  margin-top:20px;
  padding-top:15px;

  border-top:1px solid rgba(212,175,55,0.2);

  color:#bfbfbf;
  font-size:14px;
  line-height:1.6;
}


/* TITULOS CLICKABLES */
.toggle-titulo{
  margin-top:15px;
  padding:12px 15px;

  background: rgba(255,255,255,0.03);
  border:1px solid rgba(212,175,55,0.2);
  border-radius:8px;

  color:#f1d07a;
  font-size:14px;
  font-weight:500;

  cursor:pointer;
  transition:0.3s;
}

/* hover */
.toggle-titulo:hover{
  background: rgba(212,175,55,0.08);
}

/* CONTENIDO OCULTO */
.contenido-toggle{
  display:none;
  padding:15px 10px 5px;

  color:#cfcfcf;
  font-size:14.5px;
  line-height:1.6;
}

/* efecto apertura */
.contenido-toggle.activo{
  display:block;
  animation:fadeIn 0.3s ease;
}




/* =========================
ACORDEON PREMIUM
========================= */

.acordeon-item{
  margin-top:15px;
  border-radius:10px;
  overflow:hidden;
  border:1px solid rgba(212,175,55,0.15);
  background: rgba(20,20,25,0.6);
}

/* header */
.acordeon-header{
  padding:14px 18px;
  cursor:pointer;

  display:flex;
  justify-content:space-between;
  align-items:center;

  color:#f1d07a;
  font-size:15px;

  transition:0.3s;
}

.acordeon-header:hover{
  background: rgba(212,175,55,0.08);
}

/* icono */
.icono{
  font-size:18px;
  transition:0.3s;
}

/* contenido */
.acordeon-contenido{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease;

  padding:0 18px;
  color:#cfcfcf;
  font-size:14.5px;
  line-height:1.6;
}

/* cuando está activo */
.acordeon-item.activo .acordeon-contenido{
  max-height:500px;
  padding:15px 18px 20px;
}


/* rotación icono */
.acordeon-item.activo .icono{
  transform:rotate(45deg); /* + se vuelve X */
}


/* =========================
DAÑO - ITEMS DESPLEGABLES
========================= */

.danio-item{
  border:1px solid rgba(212,175,55,0.15);
  border-radius:10px;
  overflow:hidden;
  background: rgba(20,20,25,0.6);
}

/* header */
.danio-header{
  padding:12px 15px;
  cursor:pointer;

  display:flex;
  justify-content:space-between;
  align-items:center;

  font-size:14px;
  color:#f1d07a;

  transition:0.3s;
}

.danio-header:hover{
  background: rgba(212,175,55,0.08);
}








/* contenido */
.danio-contenido{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.35s ease;
  padding:0 15px;
}

/* SOLO el activo se abre */
.danio-item.activo .danio-contenido{
  max-height:300px;
  padding:10px 15px 15px;
}




/* icono */
.danio-item .icono{
  transition:0.3s;
}

.danio-item.activo .icono{
  transform:rotate(45deg);
}


.danio-item:hover{
  border-color:rgba(212,175,55,0.35);
  box-shadow:0 5px 20px rgba(0,0,0,0.4);
}


.danio-grid .danio-item.activo .danio-contenido{
  display:block;
}


/* FIX DEFINITIVO DANIO GRID */





.danio-item.activo{
  z-index:2;
}


.danio-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:25px;
  align-items:start; /* 👈 CLAVE */
}


.danio-item{
  height:auto;
}



/* =========================
TITULOS DE TARJETAS GLOBAL
========================= */

.card h3{
  background: linear-gradient(
    120deg,
    #8f6b1f,
    #c8a96a,
    #f1d07a,
    #fff3b0,
    #c8a96a
  );

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  font-weight: 600;
  letter-spacing: 0.4px;

  margin-bottom:10px;
}



.card:hover h3{
  text-shadow:
    0 0 10px rgba(212,175,55,0.4),
    0 0 20px rgba(212,175,55,0.2);
}


.grid-juridicos .card h3{
  letter-spacing:0.6px;
}


.grid-particulares .card h3{
  filter: brightness(1.1);
}






/* =========================
TITULOS TARJETAS - PREMIUM PRO
========================= */

.card h3{
  position: relative;
  display: inline-block;

  background: linear-gradient(
    120deg,
    #8f6b1f,
    #c8a96a,
    #f1d07a,
    #fff3b0,
    #c8a96a
  );

  background-size: 200% auto;

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  font-weight: 600;
  letter-spacing: 0.4px;

  margin-bottom: 14px;

  transition: 0.4s ease;
}

/* línea dorada debajo */
.card h3::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;

  width: 0%;
  height: 2px;

  background: linear-gradient(
    90deg,
    transparent,
    #c8a96a,
    #f1d07a,
    transparent
  );

  transition: 0.4s ease;
}

/* hover */
.card:hover h3{
  background-position: 200% center;

  text-shadow:
    0 0 8px rgba(212,175,55,0.4),
    0 0 18px rgba(212,175,55,0.2);
}

/* animación línea */
.card:hover h3::after{
  width: 100%;
}






.grid-recursos{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:30px;
}

@media(max-width:900px){
  .grid-recursos{
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width:600px){
  .grid-recursos{
    grid-template-columns: 1fr;
  }
}



/* =========================
TALLERES Y CURSOS
========================= */

/* LISTA OCULTA */
.lista-pdf {
  margin-top: 15px;
  padding-left: 15px;
  display: none;
}

/* ITEMS */
.lista-pdf li {
  margin-bottom: 8px;
}

/* LINKS */
.lista-pdf a {
  text-decoration: none;
  color: #333;
  transition: 0.2s;
}

.lista-pdf a:hover {
  color: #000;
  text-decoration: underline;
}

/* ACTIVO */
.card.activo .lista-pdf {
  display: block;
}

/* EFECTO CLICK */
.card.desplegable {
  cursor: pointer;
  transition: 0.3s;
}

.card.desplegable:hover {
  transform: translateY(-3px);
}


/* SOLO afecta a estas cards */


/* Lista oculta */
.lista-items {
  display: none;
  margin-top: 15px;
}

/* Activa */
.card.expandible.activo .lista-items {
  display: block;
}

/* Cada item */
.lista-items a {
  display: block;
  padding: 8px 0;
  color: #333;
  text-decoration: none;
  cursor: pointer;
  transition: 0.2s;
}

.lista-items a:hover {
  color: #000;
  transform: translateX(5px);
}


.lista-items a {
  
  display: block;
  cursor: pointer !important;
  padding: 8px 0;
  color: #333;
}



.card.expandible {
  cursor: default !important;
}



/* ESTA CARD NO TIENE MANITO */
.card.expandible {
  cursor: default;
}

/* LISTA */
.lista-items {
  display: none;
  margin-top: 15px;
}

.card.expandible.activo .lista-items {
  display: block;
}

/* LINKS (ACA SÍ HAY MANITO) */
.lista-items a {
  display: block;
  padding: 8px 0;
  color: #333;
  text-decoration: none;
}

/* HOVER */
.lista-items a:hover {
  color: #c5a46d; /* dorado elegante */
  transform: translateX(5px);
}


.lista-items {
  position: relative;
  z-index: 10;
}

.lista-items a {
  position: relative;
  z-index: 20;
  cursor: pointer !important;
}


.lista-items a::before {
  content: "📄";
  margin-right: 8px;
  font-size: 14px;
}


.lista-items a {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lista-items a:hover {
  transform: translateX(5px);
}



.lista-items a {
  transition: all 0.25s ease;
}

.lista-items a:hover {
  color: #c5a46d;
  transform: translateX(5px);
  text-shadow: 0 0 6px rgba(197,164,109,0.4);
}




.lista-items {
  margin-top: 15px;
  padding-left: 5px;
  border-left: 2px solid rgba(255,255,255,0.08);
}


.hero{
  padding-top: 40px; /* o menos */
}


.hero{
  position:relative;
}

.hero::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);

  width:300px;
  height:300px;

  background: radial-gradient(
    circle,
    rgba(212,175,55,0.12),
    transparent 70%
  );

  filter: blur(60px);
  z-index:-1;
}





.hero-titulo-principal{
  color:#f1d07a; /* fallback SIEMPRE visible */
}


@media(max-width:900px){
  .header-texto span{
    display:none; /* oculta "Lic..." */
  }
}


@keyframes haloPulse{
  0%{
    transform: scale(1);
    opacity:0.6;
  }

  50%{
    transform: scale(1.4);
    opacity:0.2;
  }

  100%{
    transform: scale(1);
    opacity:0.6;
  }
}





/* LOGO FONDO TIPO MARCA DE AGUA */



/* LOGO DETRÁS DEL TITULO */









.seccion-pericias{
  position: relative;
  overflow: hidden;
}



.seccion-pericias > *{
  position: relative;
  z-index: 2;
}


.hero-titulo-principal{
  position: relative;
  display: inline-block;
  z-index: 2;
}

.hero-titulo-principal::before{
  content: "";
  position: absolute;

  top: 50%;
  left: 50%;
  transform: translate(-50%, -40%);

  width: 420px;
  height: 420px;

  background-image: url("img/logo.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  opacity: 0.12;

  filter: blur(0.5px) brightness(110%) contrast(105%);
  border-radius: 50%;

  z-index: -1;
  pointer-events: none;
}



/* =========================
FORMACION PREMIUM PRO
========================= */

#formacion .servicios-contenedor{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;

  max-width: 1100px;
  margin: 0 auto;
}

/* tarjetas */
#formacion .card{
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  min-height: 260px; /* 👈 iguala altura base */
}

/* contenido interno más prolijo */
#formacion .card p{
  flex-grow: 1; /* empuja la lista hacia abajo */
}

/* lista siempre alineada abajo */
#formacion .lista-items{
  margin-top: 15px;
}

/* RESPONSIVE */
@media(max-width: 768px){
  #formacion .servicios-contenedor{
    grid-template-columns: 1fr;
  }
}


#formacion .card{
  padding: 30px;
}

#formacion .card h3{
  font-size: 20px;
}



/* =========================
CURSO CARDS (MINI LANDING)
========================= */

.curso-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;

  padding:30px;
  min-height:320px;
}

/* subtitulo */
.curso-sub{
  color:#cfcfcf;
  font-size:14.5px;
  margin-bottom:15px;
}

/* beneficios */
.curso-beneficios{
  list-style:none;
  padding:0;
  margin:15px 0;
}

.curso-beneficios li{
  position:relative;
  padding-left:22px;
  margin-bottom:10px;
  font-size:14px;
  color:#ddd;
}

/* check */
.curso-beneficios li::before{
  content:"✔";
  position:absolute;
  left:0;
  color:#f1d07a;
  font-size:13px;
}

/* footer */
.curso-footer{
  margin-top:auto;
}

/* botón más pro */
.curso-card .btn-secundario{
  width:100%;
  text-align:center;
}

/* hover más “producto” */
.curso-card:hover{
  transform: translateY(-12px) scale(1.02);
}


.curso-card:first-child{
  border:1px solid rgba(212,175,55,0.4);

  box-shadow:
    0 25px 60px rgba(0,0,0,0.8),
    0 0 25px rgba(212,175,55,0.25);
}


.curso-card .btn-secundario{
  background: linear-gradient(135deg,#c8a96a,#f1d07a);
  color:#000;
  border:none;
}

.curso-card .btn-secundario:hover{
  transform:scale(1.05);
}


/* LISTA OCULTA */
.lista-programas{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease;

  margin-top:10px;
  padding-left:10px;
  border-left:2px solid rgba(255,255,255,0.08);
}

/* ACTIVO */
.card.activo .lista-programas{
  max-height:500px;
}

/* TITULOS */
.lista-programas strong{
  display:block;
  margin-top:10px;
  margin-bottom:5px;
  color:#f1d07a;
  font-size:13px;
}

/* LINKS */
.lista-programas a{
  display:block;
  padding:6px 0;
  text-decoration:none;
  color:#ccc;
  font-size:13.5px;

  transition:0.25s;
}

/* ICONO PDF */
.lista-programas a::before{
  content:"📄";
  margin-right:8px;
}

/* HOVER */
.lista-programas a:hover{
  color:#f1d07a;
  transform:translateX(5px);
}


.btn-curso{
  display:inline-block;

  background: linear-gradient(135deg,#d4af37,#f1d07a);
  color:#000;

  padding:10px 18px;
  border-radius:25px;

  font-size:13px;
  font-weight:600;

  border:none;              /* 👈 CLAVE */
  cursor:pointer;           /* 👈 CLAVE */

  text-decoration:none;

  transition:0.3s;
}

.btn-curso:hover{
  transform:scale(1.07);
}


.btn-curso,
.lista-programas a{
  cursor:pointer !important;
}

.lista-programas{
  max-height:0;
  overflow:hidden;

  opacity:0;
  transform:translateY(-10px);

  transition:
    max-height 0.5s ease,
    opacity 0.3s ease,
    transform 0.3s ease;

  margin-top:10px;
  padding-left:10px;
  border-left:2px solid rgba(212,175,55,0.2);
}

/* estado abierto */
.card.activo .lista-programas{
  max-height:500px;
  opacity:1;
  transform:translateY(0);
}


.card::before,
.card::after{
  pointer-events:none;
}


.btn-curso:active{
  transform:scale(0.95);
}


.btn-curso{
  position:relative;
  overflow:hidden;
}

/* efecto ripple */
.btn-curso::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:0;
  height:0;

  background:rgba(255,255,255,0.4);
  border-radius:50%;

  transform:translate(-50%,-50%);
  opacity:0;

  transition:width 0.4s, height 0.4s, opacity 0.6s;
}

.btn-curso:active::after{
  width:200px;
  height:200px;
  opacity:1;
  transition:0s;
}

/* sensación de presión */
.btn-curso:active{
  transform:scale(0.95);
}



.icono-toggle{
  margin-left:8px;
  display:inline-block;
  transition:0.3s;
  font-weight:bold;
}

/* cuando abre */
.card.activo .icono-toggle{
  transform:rotate(45deg); /* + → X */
}


.lista-programas a{
  position:relative;
  padding-left:5px;
}

/* línea que aparece */
.lista-programas a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;

  width:0%;
  height:1px;

  background:#f1d07a;
  transition:0.3s;
}

.lista-programas a:hover::after{
  width:100%;
}


.card.activo{
  border:1px solid rgba(212,175,55,0.5);

  box-shadow:
    0 20px 50px rgba(0,0,0,0.8),
    0 0 20px rgba(212,175,55,0.2);
}








html{
  scroll-behavior:smooth;
}


.toggle-lista{
  cursor:pointer;
}

.lista-programas a{
  cursor:pointer;
}



#formacion{
  padding-top: 30px;
}

#formacion h2{
  margin-bottom: 20px;
}


.hero{
  padding-top: calc(var(--header-altura) + 80px);
}




.card-acordeon {
  border: 1px solid #ddd;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  transition: 0.3s;
}

.card-header {
  padding: 15px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f7f7f7;
  font-weight: 500;
}

.card-header:hover {
  background: #eee;
}

.card-contenido {
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s ease;
  padding: 0 15px;
  font-size: 14px;
  line-height: 1.5;
}

.card-acordeon.activo .card-contenido {
  max-height: 300px;
  padding: 15px;
}

.icono {
  transition: 0.3s;
  font-size: 18px;
}

.card-acordeon.activo .icono {
  transform: rotate(45deg);
}


.card-acordeon {
  background: #fff;
  color: #222; /* 👈 CLAVE */
}

.card-header {
  color: #222; /* 👈 texto visible */
}

.card-contenido {
  color: #444; /* 👈 texto interno */
}


.card-acordeon {
  background: #ffffff;
  color: #1a1a1a;
  border: 1px solid #e5e5e5;
}

.card-header {
  background: #f9f9f9;
  color: #111;
  font-weight: 600;
}

.card-contenido {
  color: #333;
}


.card-acordeon * {
  color: inherit;
}


/* =========================
FIX ACORDEON (FORZADO)
========================= */

.card-acordeon {
  background: #ffffff !important;
  color: #1a1a1a !important;
  border: 1px solid #e0e0e0;
}

.card-header {
  background: #f4f6f8 !important;
  color: #111 !important;
  font-weight: 600;
}

.card-contenido {
  background: #ffffff !important;
  color: #333 !important;
}

.card-acordeon span,
.card-acordeon p,
.card-acordeon li {
  color: #333 !important;
}


/* =========================
ACORDEON ESTILO PROFESIONAL
========================= */

.card-acordeon {
  background: #ffffff;
  border: 1px solid #e3e6ea;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
}

/* HEADER */
.card-header {
  padding: 16px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f4f6f8;
  color: #2c3e50;
  font-weight: 600;
  letter-spacing: 0.3px;
  transition: all 0.3s ease;
}

.card-header:hover {
  background: #e9edf1;
}

/* CONTENIDO */
.card-contenido {
  max-height: 0;
  overflow: hidden;
  transition: all 0.35s ease;
  padding: 0 16px;
  color: #555;
  font-size: 14.5px;
  line-height: 1.6;
}

/* ACTIVO */
.card-acordeon.activo .card-contenido {
  max-height: 300px;
  padding: 16px;
}

/* ICONO */
.icono {
  font-size: 18px;
  color: #2c3e50;
  transition: transform 0.3s ease;
}

.card-acordeon.activo .icono {
  transform: rotate(45deg);
}

/* EFECTO SUTIL */
.card-acordeon:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

/* ESPACIADO ENTRE TARJETAS */
.grid .card-acordeon,
.grid-juridicos .card-acordeon,
.grid-particulares .card-acordeon {
  margin-bottom: 12px;
}


.card-header span:first-child {
  position: relative;
}

.card-header span:first-child::before {
  content: "";
  width: 4px;
  height: 100%;
  background: #2c3e50;
  position: absolute;
  left: -12px;
  top: 0;
  border-radius: 2px;
}


#areas-pericia {
  background: transparent !important;
}



/* CONTENEDOR GENERAL */
.areas-contenedor {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 40px;
  margin-top: 30px;
}

/* TITULOS */
.subtitulo {
  margin-bottom: 15px;
  color: #2c3e50;
  font-weight: 600;
}

/* GRID DERECHA (2 columnas) */
.areas-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 20px;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .areas-contenedor {
    grid-template-columns: 1fr;
  }

  .areas-grid-2 {
    grid-template-columns: 1fr;
  }
}



.areas-servicio .danio-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
}


/* IZQUIERDA: 1 columna */
.areas-servicio .danio-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* DERECHA: 2 columnas */
.areas-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 20px;
}



.areas-servicio {
  border-right: 1px solid #e5e5e5;
  padding-right: 20px;
}



.danio-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}


.areas-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 20px;
  align-items: start; /* 🔑 ESTO ARREGLA TODO */
}


.danio-item {
  height: auto;
}



.tecnicas-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px 20px;
  align-items: start; /* 🔑 evita deformaciones */
}


@media (max-width: 768px) {
  .tecnicas-grid {
    grid-template-columns: 1fr;
  }
}



#tecnicas .danio-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px 20px;
  align-items: start;
}






#acordeon-tecnicas,
#tecnicas .danio-dictamen{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}


#tecnicas .acordeon-item{
  width: 100%;
}

@media(max-width:768px){
  #tecnicas .danio-dictamen{
    grid-template-columns: 1fr;
  }
}


#tecnicas .acordeon-item{
  align-self: start;
}




/* =========================
EFECTO HAZ LUMINOSO EN ACORDEON
========================= */

#acordeon-tecnicas .acordeon-item,
#tecnicas .acordeon-item{
  position: relative;
  overflow: hidden;
}

/* haz */
#tecnicas .acordeon-item::before{
  content:"";
  position:absolute;
  inset:0;
  left:-100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.12),
    transparent
  );

  transition:0.6s;
}

/* animación al hover */
#tecnicas .acordeon-item:hover::before{
  left:100%;
}


#tecnicas .acordeon-item::after{
  content:"";
  position:absolute;
  inset:0;

  background:linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.05),
    transparent
  );

  opacity:0;
  transition:0.4s;
}

#tecnicas .acordeon-item:hover::after{
  opacity:1;
}


/* =========================
EFECTO HAZ LUMINOSO GLOBAL
========================= */

/* todas las tarjetas */
.card,
.acordeon-item,
.danio-item,
.card-acordeon{
  position: relative;
  overflow: hidden;
}

/* haz principal */
.card::before,
.acordeon-item::before,
.danio-item::before,
.card-acordeon::before{
  content:"";
  position:absolute;
  inset:0;

  left:-100%;

  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.12),
    transparent
  );

  transition:0.6s;
  pointer-events:none;
}

/* animación */
.card:hover::before,
.acordeon-item:hover::before,
.danio-item:hover::before,
.card-acordeon:hover::before{
  left:100%;
}

/* brillo secundario */
.card::after,
.acordeon-item::after,
.danio-item::after,
.card-acordeon::after{
  content:"";
  position:absolute;
  inset:0;

  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.05),
    transparent
  );

  opacity:0;
  transition:0.4s;
  pointer-events:none;
}

.card:hover::after,
.acordeon-item:hover::after,
.danio-item:hover::after,
.card-acordeon:hover::after{
  opacity:1;
}


background: linear-gradient(
  120deg,
  transparent,
  rgba(212,175,55,0.25),
  transparent
);






#recursos .servicios-contenedor{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:40px;

  max-width:1100px;
  margin:auto;
}

@media(max-width:768px){
  #recursos .servicios-contenedor{
    grid-template-columns:1fr;
  }
}



#recursos .card{
  min-height:180px;

  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;

  position:relative;
}

/* icono sutil */
#recursos .card::after{
  content:"📁";
  position:absolute;
  top:15px;
  right:15px;
  font-size:22px;
  opacity:0.15;
  transition:0.3s;
}

#recursos .card:hover::after{
  transform:scale(1.2);
  opacity:0.35;
}




/* =========================
RECURSOS ACORDEON PRO
========================= */

.recurso-acordeon{
  padding:20px;
  cursor:pointer;
}

/* header */
.recurso-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

/* icono */
.icono-toggle{
  font-size:18px;
  transition:0.3s;
}

/* contenido oculto */
.recurso-contenido{
  max-height:0;
  overflow:hidden;

  opacity:0;
  transform:translateY(-10px);

  transition:
    max-height 0.4s ease,
    opacity 0.3s ease,
    transform 0.3s ease;

  margin-top:10px;
  padding-left:10px;

  border-left:2px solid rgba(212,175,55,0.2);
}

/* links */
.recurso-contenido a{
  display:block;
  padding:8px 0;
  text-decoration:none;
  color:#ccc;
  font-size:14px;
  transition:0.25s;
}

.recurso-contenido a:hover{
  color:#f1d07a;
  transform:translateX(5px);
}

/* estado activo */
.recurso-acordeon.activo .recurso-contenido{
  max-height:300px;
  opacity:1;
  transform:translateY(0);
}

/* rotación icono */
.recurso-acordeon.activo .icono-toggle{
  transform:rotate(45deg);
}


#recursos .card{
  transition: all 0.3s ease;
}

.recurso-acordeon.activo{
  transform: scale(1.02);
}




#recursos .servicios-contenedor {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px;
}


.recurso-acordeon {
  align-self: start;
}


.recurso-header {
  padding: 12px 16px;
}

.recurso-contenido {
  padding: 0 16px;
}

.recurso-acordeon.activo .recurso-contenido {
  padding: 10px 16px 15px;
}


.recurso-acordeon {
  height: auto;
}


.recurso-contenido {
  max-height: 150px;
  overflow-y: auto;
}


.danio-dictamen {
  display: grid;
  grid-template-columns: repeat(1, 4fr);
  gap: 20px;
}


.acordeon-item {
  display: flex;
  flex-direction: column;
  height: 100%;
}


.acordeon-contenido {
  flex-grow: 1;
}


.lista-items,
.lista-programas,
.recurso-contenido{
  border-left: none !important;
}


/* Quitar línea izquierda en Daño Psíquico */
.lista-items{
  border-left: none !important;
}

/* Quitar línea izquierda en Técnicas */
.recurso-contenido{
  border-left: none !important;
}


/* ELIMINAR TODAS LAS RAYAS IZQUIERDAS */

.lista-items,
.lista-programas,
.recurso-contenido{
  border-left: none !important;
}

/* esta es la clave que te falta */
.card-header span:first-child::before{
  display: none !important;
  content: none !important;
}


.danio-dictamen::before,
.acordeon-item::before{
  display:none !important;
}






/* =========================
SECCION PERITO
========================= */

.seccion-perito{
  padding:20px 20px;
  background:linear-gradient(180deg,#0c0c0c,#111);
}

.perito-contenedor{
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns: 1fr 2fr;
  gap:60px;
  align-items:center;
}

/* FOTO */
.perito-foto img{
  width:100%;
  max-width:260px;     /* limita ancho */
  height:280px;        /* controla altura */
  object-fit:cover;    /* evita deformación */
  border-radius:12px;
  filter: grayscale(100%);
  transition:0.4s;
  display:block;
  margin:auto;         /* centra la imagen */
}

.perito-foto img:hover{
  filter: grayscale(0%);
  transform:scale(1.02);
}

/* DATOS */
.perito-datos h3{
  font-family:'Playfair Display', serif;
  font-size:28px;
  color:#f1d07a;
  margin-top:20px;
}

.perito-sub{
  color:#aaa;
  margin-bottom:15px;
}

/* EFECTO TARJETA */
.perito-perfil{
  background:rgba(255,255,255,0.02);
  padding:30px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.05);
  backdrop-filter: blur(6px);
  text-align:center; /* 👈 centra todo */
}


.perito-datos p{
  font-size:15px;
  line-height:1.6;
  color:#ccc;
  margin-bottom:12px;
}


.perito-datos{
  margin-top:15px;
}

.perito-sub{
  color:#aaa;
  margin-bottom:15px;
  font-size:14px;
  letter-spacing:1px;
}


.perito-perfil:hover{
  border:1px solid rgba(241,208,122,0.3);
  transform:translateY(-3px);
  transition:0.3s;
}



.perito-foto{
  position:relative;
  display:flex;
  justify-content:center;
}

/* marco */
.perito-foto::before{
  content:"";
  position:absolute;
  width:270px;
  height:340px;
  border:1px solid rgba(241,208,122,0.25);
  border-radius:14px;
  top:-10px;
  z-index:0;
}

/* imagen encima */
.perito-foto img{
  position:relative;
  z-index:1;
}


.perito-perfil{
  position:relative;
  overflow:hidden;
}

.perito-perfil::after{
  content:"";
  position:absolute;
  width:200px;
  height:200px;
  background:radial-gradient(circle, rgba(241,208,122,0.08), transparent 70%);
  top:-50px;
  right:-50px;
  pointer-events:none;
}


.perito-datos h3{
  font-family:'Playfair Display', serif;
  font-size:30px;
  color:#f1d07a;
  margin-top:20px;
  letter-spacing:0.5px;
}

.perito-sub{
  color:#aaa;
  margin-bottom:15px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:2px;
}


.perito-datos::after{
  content:"";
  display:block;
  width:40px;
  height:2px;
  background:#f1d07a;
  margin:15px auto 10px;
  opacity:0.6;
}


.perito-credenciales{
  font-size:13px;
  color:#bbb;
  margin-bottom:10px;
}



.perito-perfil{
  animation:fadeUp 0.8s ease;
}

@keyframes fadeUp{
  from{
    opacity:0;
    transform:translateY(20px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}


.perito-contenedor{
  max-width:1100px;
  margin:auto;
  display:grid;
  grid-template-columns: 0.9fr 1.6fr; /* más equilibrado */
  gap:60px;
  align-items:center;
}



/* RESPONSIVE */
@media(max-width:900px){

  .perito-foto img{
    height:260px;
    max-width:220px;
  }

  .perito-perfil{
    padding:25px;
  }

}


.perito-titulo-info{
  font-family:'Playfair Display', serif;
  color:#f1d07a;
  font-size:22px;
  margin-bottom:20px;
}


.danio-grid{
  border-left:1px solid rgba(241,208,122,0.2);
  padding-left:20px;
}



  .recurso-acordeon {
    width: 100%;
  }



@media (max-width: 768px) {
  .perito-contenedor {
    display: flex;
    flex-direction: column;
  }

  .perito-perfil,
  .perito-info {
    width: 100%;
  }
}


@media (max-width: 768px) {
  .danio-grid {
    display: grid;
    grid-template-columns: 1fr;
  }
}


* {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}


@media (max-width: 768px) {

  .servicios-contenedor {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }

  .recurso-acordeon {
    width: 100%;
  }

  .recurso-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; /* 🔥 CLAVE */
  }

  .recurso-header h3 {
    font-size: 16px;
  }

}


.servicios-contenedor {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media (max-width: 768px) {
  .servicios-contenedor {
    grid-template-columns: 1fr;
  }
}


.recurso-header h3 {
  word-break: break-word;
}


#recursos .servicios-contenedor {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  max-width: 1100px;
  margin: auto;
}


@media (max-width: 768px) {

  #recursos .servicios-contenedor {
    grid-template-columns: 1fr; /* 👈 ESTO ARREGLA TODO */
  }

}


@media (max-width: 768px) {

  .recurso-header {
    flex-wrap: wrap;
  }

  .recurso-header h3 {
    font-size: 16px;
  }

}


/* RESPONSIVE */
@media (max-width: 768px) {

  /* Recursos */
  #recursos .servicios-contenedor {
    grid-template-columns: 1fr;
  }

  /* Por si usa flex en otros lados */
  .servicios-contenedor {
    flex-direction: column;
  }

  /* Ajustes de acordeones */
  .recurso-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
  }

  .recurso-header h3 {
    font-size: 16px;
  }

}


@media (max-width: 768px) {

  #recursos .servicios-contenedor {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

}


/* =========================
   RESPONSIVE FINAL (CELULAR)
========================= */

@media (max-width: 768px) {

  #recursos .servicios-contenedor {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }

}


@media (max-width: 768px) {

  #recursos .servicios-contenedor {
    display: block !important;
  }

}


/* FIX FINAL RECURSOS MOBILE */
@media (max-width: 768px) {

  #recursos .servicios-contenedor {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  #recursos .card {
    width: 100% !important;
  }

}


@media (max-width: 768px) {

  #recursos .servicios-contenedor {
    display: grid;
    grid-template-columns: 1fr;
  }

  #recursos .card {
    width: 100% !important;
    max-width: 100% !important;
  }

}


@media (max-width: 768px) {

  #recursos .servicios-contenedor {
    display: block !important;
  }

  #recursos .card {
    width: 100% !important;
    margin-bottom: 20px;
  }

}



.texto-central {
  max-width: 800px; /* antes 700px */
  margin: 20px auto;
  text-align: center;
  line-height: 1.6;
  padding: 0 10px; /* menos espacio lateral */
}









header {
  position: fixed;
  top: -100%;
  left: 0;
  width: 100%;
  transition: top 0.3s;
  z-index: 1000;
}

header.visible {
  top: 0; /* aparece */
}



.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .hero {
    min-height: 100svh;
  }
}