
/* Calens v1.2: menú de servicios. Sin cambios de diseño de portada ni del logo original. */
.header-logo {
  /* El PNG horizontal tiene un fondo blanco: multiplicar lo integra al fondo del header sin tocar el arte. */
  mix-blend-mode: multiply;
}
.core-logo,
.contact-pattern img.official-logo,
.inner-cta > img {
  /* El sello circular conserva esquinas claras en el archivo fuente. La máscara solo recorta las esquinas. */
  clip-path: circle(50% at 50% 50%);
  border-radius: 50%;
}
.services-menu {
  position: relative;
  display: flex;
  height: 100%;
  align-items: center;
}
.services-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-weight: 650;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 9px;
  padding: 13px 2px;
  white-space: nowrap;
  transition: color 160ms ease;
}
.services-toggle:hover,
.services-menu.is-open .services-toggle {color: var(--blue)}
.services-chevron {
  width: 7px;height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 160ms ease;
}
.services-menu.is-open .services-chevron{transform:translateY(2px) rotate(225deg)}
.services-toggle:focus-visible,
.services-dropdown a:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 4px;
  border-radius: 3px;
}
.services-dropdown {
  position:absolute;
  z-index: 1010;
  top:calc(100% - 4px);
  right:-134px;
  width: min(680px, calc(100vw - 36px));
  background: #fff;
  border:1px solid #dce6ee;
  border-top:4px solid var(--yellow);
  border-radius: 0 0 12px 12px;
  box-shadow: 0 30px 75px #06284926;
  overflow-y: auto;
  max-height: calc(100vh - 90px);
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform: translateY(9px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}
.services-menu.is-open .services-dropdown {
  visibility: visible;opacity: 1;pointer-events: auto;transform:translateY(0);
}
.services-dropdown-heading {
  padding: 25px 27px 20px;
  border-bottom: 1px solid #e6edf2;
  display:flex;flex-direction:column;gap:7px;
}
.services-dropdown-heading>span {
  color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.15em;
}
.services-dropdown-heading>strong {font-size:20px;letter-spacing:-.03em;line-height:1.3;color:var(--deep)}
.services-menu-grid {
  padding: 20px 18px 22px;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:12px;
}
.services-menu-column {min-width:0;padding:0 5px}
.services-group-label {
  margin:0 0 12px;
  font-size:10px;letter-spacing:.13em;font-weight:800;color:#7793aa;
}
.services-menu-column a {
  display:flex;flex-direction:column;gap:4px;
  padding:11px 8px;
  color:var(--deep);
  border-radius:5px;
  transition: background 160ms ease;
}
.services-menu-column a:hover {background:#edf5fb}
.services-menu-column a:hover .menu-link-title {color:var(--blue)}
.menu-link-title{font-size:13px;font-weight:750;line-height:1.32}
.services-menu-column small {font-size:10px;font-weight:450;line-height:1.5;color:#688093}
.services-menu-footer{
  display:flex;justify-content:space-between;align-items:center;gap:15px;
  background:#062849;color:#fff;padding:14px 27px;font-weight:700;font-size:12px;
}
.services-menu-footer:hover{background:#124368}
.services-menu-footer span{color:var(--yellow)}
@media(max-width:980px){
  .nav-links{gap:16px}
  .services-menu{display:flex;flex-shrink:0}
  .services-toggle{padding:12px 3px;font-size:13px}
  .services-dropdown {
    position:fixed;
    top:calc(86px + 4px);
    left:16px;right:16px;width:auto;
    max-height: calc(100dvh - 105px);
  }
}
@media(max-width:600px){
  .nav-shell{padding:0 12px;gap:7px}
  .header-logo{height:41px;max-width:126px}
  .nav-links{gap:9px;font-size:12px}
  .nav-cta{padding:11px 10px;white-space:nowrap;font-size:12px}
  .services-toggle{font-size:12px;gap:6px;padding:10px 2px}
  .services-chevron{width:6px;height:6px}
  .services-dropdown{top:calc(74px + 4px);left:10px;right:10px;max-height:calc(100dvh - 88px)}
  .services-dropdown-heading{padding:19px 19px 15px}
  .services-dropdown-heading>strong{font-size:17px}
  .services-menu-grid{grid-template-columns:1fr;padding:12px 15px 15px;gap:7px}
  .services-menu-column{padding:0 4px}
  .services-group-label{margin:11px 0 4px}
  .services-menu-column a{padding:9px 7px}
  .services-menu-footer{padding:13px 19px}
}
@media(prefers-reduced-motion:reduce){
  .services-chevron,.services-dropdown,.services-menu-column a{transition:none!important}
}
