/* Menú desplegable de "Servicios" (común a todas las páginas) */
.nav-dd{ position:relative; display:flex; align-items:center; }
.nav-dd-btn{
  position:relative; display:inline-flex; align-items:center; gap:5px; background:none; border:0; padding:4px 0; cursor:pointer;
  font-family:var(--f-display, 'Poppins', sans-serif); font-weight:500; font-size:13px; color:var(--stone, #6B7280);
  transition:color .2s ease;
}
.nav-dd-btn::after{
  content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px; border-radius:2px;
  background:var(--orange, #FEB501); transition:width .25s ease;
}
.nav-dd-btn svg{ width:12px; height:12px; stroke:currentColor; fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease; }
.nav-dd-btn:hover, .nav-dd.is-open .nav-dd-btn, .nav-dd-btn.active{ color:var(--ink, #2C4A9E); }
.nav-dd-btn.active{ font-weight:600; }
.nav-dd-btn:hover::after, .nav-dd-btn.active::after{ width:100%; }
.nav-dd.is-open .nav-dd-btn svg{ transform:rotate(180deg); }

.nav-dd-menu{
  position:absolute; top:calc(100% + 14px); left:50%; transform:translate(-50%, 6px); width:300px;
  background:#fff; border:1px solid var(--line, #e3e6ee); border-radius:18px;
  box-shadow:0 24px 50px -24px rgba(32,30,29,0.38);
  padding:8px; display:grid; gap:2px; z-index:80;
  opacity:0; visibility:hidden; transition:opacity .18s ease, transform .18s ease, visibility .18s;
}
.nav-dd-menu::before{ content:""; position:absolute; left:0; right:0; top:-16px; height:16px; }
.nav-dd.is-open .nav-dd-menu{ opacity:1; visibility:visible; transform:translate(-50%, 0); }
@media (hover:hover) and (min-width:861px){
  .nav-dd:hover .nav-dd-menu{ opacity:1; visibility:visible; transform:translate(-50%, 0); }
  .nav-dd:hover .nav-dd-btn svg{ transform:rotate(180deg); }
}
.nav-links .nav-dd-menu a{ display:grid; gap:2px; padding:10px 12px; border-radius:12px; text-decoration:none; }
.nav-links .nav-dd-menu a::after{ display:none; }
.nav-dd-menu a b{ font-family:var(--f-display, 'Poppins', sans-serif); font-weight:600; font-size:13.5px; color:var(--negro, #201E1D); }
.nav-dd-menu a span{ font-family:var(--f-body, 'Inter', sans-serif); font-weight:400; font-size:12px; line-height:1.35; color:var(--stone, #6B7280); }
.nav-dd-menu a:hover, .nav-dd-menu a:focus-visible, .nav-dd-menu a[aria-current="page"]{ background:var(--gris-nube, #EEF1F5); }
.nav-dd-menu a[aria-current="page"] b, .nav-dd-menu a:hover b{ color:var(--ink, #2C4A9E); }

/* Menú del celular: "Servicios" como grupo con sus páginas */
.mobile-nav-links .mnav-group{ display:flex; flex-direction:column; border-bottom:1px solid var(--line, #e3e6ee); padding-bottom:8px; }
.mobile-nav-links .mnav-label{
  font-family:var(--f-display, 'Poppins', sans-serif); font-size:16px; font-weight:600; letter-spacing:0.01em;
  color:var(--ink-deep, #201E1D); padding:14px 6px 6px;
}
.mobile-nav-links .mnav-group a{ font-size:14.5px; font-weight:500; padding:9px 6px 9px 18px; border-bottom:0; color:var(--stone, #6B7280); }
.mobile-nav-links .mnav-group a[aria-current="page"]{ color:var(--ink, #2C4A9E); font-weight:600; }

/* "Servicios" es un enlace: abre servicios.html; el menú se despliega al pasar el mouse o con el teclado */
a.nav-dd-btn{ text-decoration:none; }
.nav-dd:focus-within .nav-dd-menu{ opacity:1; visibility:visible; transform:translate(-50%, 0); }
.mobile-nav-links .mnav-group a.mnav-label{
  font-size:16px; font-weight:600; padding:14px 6px 6px; color:var(--ink-deep, #201E1D); border-bottom:0;
}
.mobile-nav-links .mnav-group a.mnav-label[aria-current="page"]{ color:var(--ink, #2C4A9E); }
