/* IPX V19.9 — navegación compacta premium */
:root{--ipx-nav-navy:#071a36;--ipx-nav-blue:#173f78;--ipx-nav-gold:#f3c500;--ipx-nav-soft:#f5f8fc;--ipx-nav-line:#e1e7f0}
.site-header{position:sticky!important;top:0;z-index:1000!important;background:rgba(255,255,255,.985)!important;backdrop-filter:blur(16px) saturate(145%);-webkit-backdrop-filter:blur(16px) saturate(145%);border-bottom:1px solid rgba(7,26,54,.07)!important;box-shadow:0 12px 34px rgba(7,26,54,.07);isolation:isolate}
.site-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent 2%,rgba(243,197,0,.18) 16%,var(--ipx-nav-gold) 50%,rgba(243,197,0,.18) 84%,transparent 98%);opacity:.78;pointer-events:none}
.site-header .nav-wrap,.site-header .nav-shell{height:82px!important;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-header .brand{position:relative;display:flex;align-items:center;flex:0 0 auto;padding-right:18px;margin-right:4px}
.site-header .brand:after{content:"";position:absolute;right:0;top:50%;width:1px;height:34px;transform:translateY(-50%);background:linear-gradient(transparent,rgba(7,26,54,.16),transparent)}
.site-header .brand img{height:54px!important;width:auto;display:block;filter:drop-shadow(0 5px 10px rgba(7,26,54,.08))}
.site-header .main-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px!important;color:var(--ipx-nav-navy);font-size:.84rem!important;font-weight:800!important;letter-spacing:-.01em;flex:1 1 auto;min-width:0}
.site-header .main-nav>a,.site-header .nav-parent{position:relative;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px!important;border-radius:11px;text-decoration:none;white-space:nowrap;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.site-header .main-nav>a:not(.nav-cta):hover,.site-header .nav-parent:hover,.site-header .nav-group:focus-within .nav-parent,.site-header .nav-group:hover .nav-parent{background:#f2f5fa;color:var(--ipx-nav-blue)!important;transform:translateY(-1px)}
.site-header .main-nav>a:not(.nav-cta):before,.site-header .nav-parent:before{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:2px;background:var(--ipx-nav-gold);transform:scaleX(0);transform-origin:center;transition:transform .18s ease}
.site-header .main-nav>a:not(.nav-cta):hover:before,.site-header .main-nav>a.active:before,.site-header .nav-group:hover .nav-parent:before,.site-header .nav-group:focus-within .nav-parent:before{transform:scaleX(1)}
.site-header .main-nav>a.active{background:#eef3fa;color:var(--ipx-nav-navy)!important;box-shadow:inset 0 0 0 1px rgba(23,63,120,.06)}
.site-header .main-nav>a.active:after{display:none!important}
.site-header .nav-group{position:relative;display:flex;align-items:center}
.site-header .nav-parent i{font-size:.65rem;transition:transform .18s ease}
.site-header .nav-group:hover .nav-parent i,.site-header .nav-group:focus-within .nav-parent i{transform:rotate(180deg)}
.site-header .nav-dropdown{position:absolute;top:calc(100% + 12px);left:0;width:355px;padding:10px;background:rgba(255,255,255,.995);border:1px solid var(--ipx-nav-line);border-radius:18px;box-shadow:0 24px 60px rgba(7,26,54,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px) scale(.985);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:1100}
.site-header .nav-dropdown:before{content:"";position:absolute;top:-7px;left:31px;width:12px;height:12px;background:#fff;border-left:1px solid var(--ipx-nav-line);border-top:1px solid var(--ipx-nav-line);transform:rotate(45deg)}
.site-header .nav-group:hover .nav-dropdown,.site-header .nav-group:focus-within .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.site-header .nav-dropdown>a{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:11px;border-radius:12px;color:var(--ipx-nav-navy)!important;text-decoration:none;transition:background .16s ease,transform .16s ease}
.site-header .nav-dropdown>a:hover{background:#f3f6fb;transform:translateX(2px)}
.site-header .nav-dropdown>a>i{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#edf3fb;color:var(--ipx-nav-blue)}
.site-header .nav-dropdown strong{display:block;font-size:.82rem;line-height:1.25}
.site-header .nav-dropdown small{display:block;margin-top:2px;color:#6c7890;font-size:.68rem;font-weight:600;line-height:1.35}
.site-header .nav-tools{display:flex;align-items:center;gap:5px;margin-left:3px}
.site-header .nav-tools>a{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid #e1e7f0;background:#f8fafc;color:#173f78!important;text-decoration:none;transition:.18s ease}
.site-header .nav-tools>a:hover{background:#edf3fb;border-color:#d3ddea;transform:translateY(-2px);box-shadow:0 8px 18px rgba(7,26,54,.08)}
.site-header .nav-tools i{font-size:.92rem}.site-header .nav-tools span{display:none}
.site-header .main-nav .nav-cta{min-height:48px!important;padding:0 34px 0 16px!important;margin-left:5px;display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:center!important;gap:0!important;background:linear-gradient(135deg,#071a36 0%,#123d73 100%)!important;color:#fff!important;border:1px solid rgba(255,255,255,.08);border-radius:14px!important;box-shadow:0 10px 24px rgba(7,26,54,.19),inset 0 1px 0 rgba(255,255,255,.13);font-weight:900!important;line-height:1.05;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.site-header .main-nav .nav-cta span{font-size:.78rem}.site-header .main-nav .nav-cta small{font-size:.58rem;color:#d8e3f2;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-top:3px}
.site-header .main-nav .nav-cta:before{display:none!important}
.site-header .main-nav .nav-cta:after{content:"→";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:1rem;color:var(--ipx-nav-gold);transition:transform .18s ease}
.site-header .main-nav .nav-cta:hover{transform:translateY(-2px)!important;background:linear-gradient(135deg,#0a2349 0%,#194f91 100%)!important;box-shadow:0 14px 30px rgba(7,26,54,.24),0 0 0 3px rgba(243,197,0,.08)}
.site-header .main-nav .nav-cta:hover:after{transform:translate(3px,-50%)}
.site-header .main-nav .nav-cta.active-cta{box-shadow:0 0 0 2px rgba(243,197,0,.75),0 12px 28px rgba(7,26,54,.2)}
.site-header .nav-toggle{width:46px;height:46px;align-items:center;justify-content:center;border:1px solid var(--ipx-nav-line)!important;border-radius:13px!important;background:#fff!important;box-shadow:0 8px 20px rgba(7,26,54,.08);transition:.18s ease}
.site-header .nav-toggle:hover{background:var(--ipx-nav-soft)!important;transform:translateY(-1px)}
@media(max-width:1080px) and (min-width:901px){.site-header .brand{padding-right:11px}.site-header .brand img{height:48px!important}.site-header .main-nav{font-size:.78rem!important}.site-header .main-nav>a,.site-header .nav-parent{padding:0 8px!important}.site-header .nav-tools>a{width:37px;height:37px}.site-header .main-nav .nav-cta{padding-left:12px!important;padding-right:30px!important}.site-header .main-nav .nav-cta span{font-size:.72rem}}
@media(max-width:900px){.site-header .nav-wrap,.site-header .nav-shell{height:74px!important;min-height:74px}.site-header .brand{padding-right:0}.site-header .brand:after{display:none}.site-header .brand img{height:46px!important}.site-header .nav-toggle{display:flex!important}.site-header .main-nav{position:fixed!important;left:14px!important;right:14px!important;top:82px!important;max-height:calc(100vh - 98px);overflow:auto;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important;padding:12px!important;background:rgba(255,255,255,.995)!important;border:1px solid var(--ipx-nav-line)!important;border-radius:20px!important;box-shadow:0 24px 60px rgba(7,26,54,.20)!important;transform:translateY(-18px) scale(.985)!important;opacity:0!important;visibility:hidden;pointer-events:none!important;transition:opacity .2s ease,transform .2s ease,visibility .2s!important}.site-header .main-nav.open{transform:translateY(0) scale(1)!important;opacity:1!important;visibility:visible;pointer-events:auto!important}.site-header .main-nav>a,.site-header .nav-parent{min-height:48px!important;justify-content:flex-start!important;padding:0 14px!important;font-size:.91rem!important;border-radius:12px!important}.site-header .main-nav>a:not(.nav-cta):before,.site-header .nav-parent:before{left:5px;right:auto;width:3px;height:22px;bottom:50%;transform:translateY(50%) scaleY(0);transform-origin:center}.site-header .main-nav>a:not(.nav-cta):hover:before,.site-header .main-nav>a.active:before,.site-header .nav-group:hover .nav-parent:before,.site-header .nav-group:focus-within .nav-parent:before{transform:translateY(50%) scaleY(1)}.site-header .nav-group{display:block}.site-header .nav-parent{width:100%;justify-content:space-between!important}.site-header .nav-parent i{margin-left:auto}.site-header .nav-dropdown{position:static;width:auto;margin:2px 4px 6px;padding:6px;background:#f7f9fc;border-radius:14px;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;border-color:#e8edf4}.site-header .nav-dropdown:before{display:none}.site-header .nav-dropdown>a{grid-template-columns:32px 1fr;padding:9px}.site-header .nav-dropdown>a>i{width:32px;height:32px;border-radius:9px;font-size:.8rem}.site-header .nav-dropdown strong{font-size:.78rem}.site-header .nav-dropdown small{font-size:.64rem}.site-header .nav-tools{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:4px 0 0;padding-top:8px;border-top:1px solid #e7ecf3}.site-header .nav-tools>a{width:auto;height:46px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:0 11px;border-radius:11px;font-size:.72rem;font-weight:800}.site-header .nav-tools span{display:inline}.site-header .main-nav .nav-cta{justify-content:center!important;align-items:center!important;margin:6px 0 0!important;min-height:54px!important;padding:0 40px!important}.site-header .main-nav .nav-cta span{font-size:.86rem}.site-header .main-nav .nav-cta small{font-size:.6rem}}
@media(max-width:620px){.site-header .nav-wrap,.site-header .nav-shell{height:70px!important;min-height:70px}.site-header .brand img{height:43px!important}.site-header .main-nav{top:78px!important}.site-header .nav-toggle{width:43px;height:43px}}

/* V19.11 · logotipo institucional oficial */
.site-header .brand img{height:50px!important;width:auto!important;max-width:205px;border-radius:8px;filter:none!important;box-shadow:0 8px 20px rgba(7,26,54,.10)}
@media(max-width:1080px) and (min-width:901px){.site-header .brand img{height:46px!important;max-width:190px}}
@media(max-width:900px){.site-header .brand img{height:44px!important;max-width:180px}}
@media(max-width:620px){.site-header .brand img{height:41px!important;max-width:165px}}

/* V19.11 · menú móvil anclado al header para evitar traslapes con la barra superior */
@media(max-width:900px){
  .site-header .main-nav{position:absolute!important;top:calc(100% + 8px)!important}
}

/* ============================================================
   IPX V19.12 — MENÚ SIGNATURE / NUEVOS TIEMPOS
   Inspirado en el concepto visual aprobado por el usuario.
   ============================================================ */
:root{
  --ipx-signature-navy:#071a36;
  --ipx-signature-blue:#173f78;
  --ipx-signature-gold:#f3c500;
  --ipx-signature-ink:#0b1d3a;
  --ipx-signature-line:#e3e9f1;
}

/* Barra superior: más delgada, institucional y tecnológica */
.utility-bar,.topline{
  background:linear-gradient(110deg,#061a38 0%,#0a3569 56%,#123f78 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.08);
}
.utility-bar .utility-inner,.topline .topline-inner{
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
.utility-bar a,.utility-bar span,.topline a,.topline span{color:#eef5ff!important}
.utility-bar i,.topline i{color:var(--ipx-signature-gold)!important}
.utility-contact,.topline-left{display:flex;align-items:center;gap:20px}
.utility-contact a,.topline-left a{font-size:.78rem!important;font-weight:700!important;letter-spacing:.005em;text-decoration:none!important}
.utility-contact a:hover,.topline-left a:hover{color:#fff!important}

/* El header ya no es una franja plana: se convierte en una pieza flotante. */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:10px 0!important;
  isolation:isolate;
}
.site-header:after{display:none!important}
.site-header .nav-wrap,.site-header .nav-shell{
  position:relative;
  height:84px!important;
  min-height:84px!important;
  padding:0 16px!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(7,26,54,.075)!important;
  border-radius:24px!important;
  box-shadow:0 18px 48px rgba(7,26,54,.13),inset 0 1px 0 rgba(255,255,255,.95)!important;
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  overflow:visible;
}
.site-header .nav-wrap:before,.site-header .nav-shell:before{
  content:"";
  position:absolute;
  left:24px;right:24px;bottom:-1px;height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--ipx-signature-gold) 22%,#ffd83f 50%,var(--ipx-signature-gold) 78%,transparent);
  opacity:.78;
  pointer-events:none;
}

/* Marca: nueva versión transparente + escudo institucional visible. */
.site-header .brand{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  padding:0!important;
  margin:0!important;
}
.site-header .brand:before,.site-header .brand:after{display:none!important}
.site-header .brand img{
  height:52px!important;
  width:auto!important;
  max-width:205px!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 6px 14px rgba(7,26,54,.08))!important;
}
.site-header .brand-seal{
  position:relative;
  flex:0 0 52px;
  width:52px;
  height:58px;
  display:grid;
  place-items:center;
  margin-left:12px;
  padding-left:13px;
}
.site-header .brand-seal:before{
  content:"";position:absolute;left:0;top:50%;width:1px;height:34px;transform:translateY(-50%);
  background:linear-gradient(transparent,rgba(7,26,54,.22),transparent)
}
.site-header .brand-seal img{
  width:auto;height:54px;display:block;object-fit:contain;
  filter:drop-shadow(0 5px 9px rgba(7,26,54,.13));
  transition:transform .24s ease,filter .24s ease;
}
.site-header .brand-seal:hover img{transform:translateY(-2px) scale(1.035);filter:drop-shadow(0 9px 14px rgba(7,26,54,.18))}

/* Navegación: limpia, editorial y con indicadores sutiles. */
.site-header .main-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:3px!important;
  color:var(--ipx-signature-ink)!important;
  font-size:.82rem!important;
  font-weight:800!important;
  letter-spacing:-.015em!important;
}
.site-header .main-nav>a,.site-header .nav-parent{
  min-height:46px!important;
  padding:0 10px!important;
  border-radius:13px!important;
  color:var(--ipx-signature-ink)!important;
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease!important;
}
.site-header .main-nav>a:not(.nav-cta):hover,.site-header .nav-parent:hover,.site-header .nav-group:hover .nav-parent,.site-header .nav-group:focus-within .nav-parent{
  color:var(--ipx-signature-blue)!important;
  background:linear-gradient(180deg,#f7f9fc,#eef3f9)!important;
  box-shadow:inset 0 0 0 1px rgba(23,63,120,.045);
  transform:translateY(-1px)!important;
}
.site-header .main-nav>a:not(.nav-cta):before,.site-header .nav-parent:before{
  left:13px!important;right:13px!important;bottom:4px!important;height:2px!important;
  background:linear-gradient(90deg,var(--ipx-signature-gold),#ffd942)!important;
}
.site-header .main-nav>a.active{
  background:#f3f6fb!important;
  color:var(--ipx-signature-blue)!important;
}
.site-header .nav-parent i{font-size:.62rem!important;margin-top:1px}

/* Dropdown tipo mega-card compacto */
.site-header .nav-dropdown{
  top:calc(100% + 14px)!important;
  width:365px!important;
  padding:11px!important;
  border-radius:20px!important;
  border:1px solid rgba(7,26,54,.08)!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 26px 70px rgba(7,26,54,.20)!important;
  backdrop-filter:blur(18px);
}
.site-header .nav-dropdown>a{padding:12px!important;border-radius:14px!important}
.site-header .nav-dropdown>a:hover{background:linear-gradient(90deg,#f7f9fd,#eef4fb)!important}
.site-header .nav-dropdown>a>i{
  background:linear-gradient(145deg,#f2f6fb,#e8f0fa)!important;
  color:var(--ipx-signature-blue)!important;
  box-shadow:inset 0 0 0 1px rgba(23,63,120,.05);
}

/* Accesos rápidos como cápsulas de utilidad */
.site-header .nav-tools{gap:6px!important;margin-left:4px!important}
.site-header .nav-tools>a{
  width:42px!important;height:42px!important;
  border-radius:13px!important;
  background:#f7f9fc!important;
  border:1px solid #e2e8f1!important;
  color:var(--ipx-signature-blue)!important;
  box-shadow:inset 0 1px 0 #fff;
}
.site-header .nav-tools>a:hover{
  background:#fff8d9!important;
  color:var(--ipx-signature-navy)!important;
  border-color:#f1dc74!important;
  box-shadow:0 9px 22px rgba(7,26,54,.10)!important;
}

/* CTA amarillo, como el concepto aprobado. */
.site-header .main-nav .nav-cta{
  position:relative!important;
  min-width:158px!important;
  min-height:50px!important;
  padding:0 44px 0 18px!important;
  margin-left:8px!important;
  background:linear-gradient(135deg,#ffd82b 0%,#f3c500 52%,#eeb500 100%)!important;
  color:var(--ipx-signature-navy)!important;
  border:1px solid rgba(210,160,0,.28)!important;
  border-radius:999px!important;
  box-shadow:0 12px 28px rgba(243,197,0,.24),inset 0 1px 0 rgba(255,255,255,.62)!important;
  align-items:flex-start!important;
}
.site-header .main-nav .nav-cta span{font-size:.79rem!important;color:var(--ipx-signature-navy)!important}
.site-header .main-nav .nav-cta small{font-size:.56rem!important;color:#5f4a00!important;letter-spacing:.065em!important}
.site-header .main-nav .nav-cta:after{
  content:"→"!important;
  right:9px!important;
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--ipx-signature-navy);
  color:#fff!important;
  box-shadow:0 7px 15px rgba(7,26,54,.22);
  transition:transform .2s ease,background .2s ease!important;
}
.site-header .main-nav .nav-cta:hover{
  background:linear-gradient(135deg,#ffe05a 0%,#f7ca0a 52%,#f0b900 100%)!important;
  color:var(--ipx-signature-navy)!important;
  box-shadow:0 16px 34px rgba(243,197,0,.31),0 0 0 4px rgba(243,197,0,.09)!important;
}
.site-header .main-nav .nav-cta:hover:after{transform:translate(3px,-50%) rotate(-4deg)!important;background:#102b54!important}

.site-header .nav-toggle{
  background:#fff!important;
  color:var(--ipx-signature-navy)!important;
  border-color:#e1e7ef!important;
  box-shadow:0 9px 22px rgba(7,26,54,.09)!important;
}

/* Ajuste tablet: el sello se compacta antes de sacrificar navegación. */
@media(max-width:1180px) and (min-width:901px){
  .site-header .nav-wrap,.site-header .nav-shell{padding:0 12px!important}
  .site-header .brand img{height:47px!important;max-width:185px!important}
  .site-header .brand-seal{flex-basis:44px;width:44px;height:52px;margin-left:8px;padding-left:9px}
  .site-header .brand-seal img{height:46px}
  .site-header .main-nav{font-size:.76rem!important}
  .site-header .main-nav>a,.site-header .nav-parent{padding:0 7px!important}
  .site-header .nav-tools>a{width:38px!important;height:38px!important}
  .site-header .main-nav .nav-cta{min-width:145px!important;padding-left:14px!important}
}

/* Mobile: conserva la identidad sin saturar. */
@media(max-width:900px){
  .utility-bar .utility-inner,.topline .topline-inner{min-height:36px!important;justify-content:center!important}
  .utility-bar .utility-inner>span,.topline .topline-proof,.utility-bar .desktop-contact,.topline .topline-email{display:none!important}
  .utility-contact,.topline-left{gap:14px!important}
  .site-header{padding:7px 0!important}
  .site-header .nav-wrap,.site-header .nav-shell{height:72px!important;min-height:72px!important;border-radius:19px!important;padding:0 12px!important}
  .site-header .brand img{height:42px!important;max-width:164px!important}
  .site-header .brand-seal{flex-basis:40px;width:40px;height:46px;margin-left:8px;padding-left:9px}
  .site-header .brand-seal img{height:41px}
  .site-header .main-nav{top:calc(100% + 9px)!important;left:8px!important;right:8px!important;border-radius:20px!important}
  .site-header .main-nav .nav-cta{border-radius:14px!important;align-items:center!important}
}
@media(max-width:480px){
  .utility-contact a:nth-child(1),.topline-left a:nth-child(1){display:none!important}
  .site-header .brand img{height:39px!important;max-width:150px!important}
  .site-header .brand-seal{flex-basis:36px;width:36px;height:42px;margin-left:6px;padding-left:7px}
  .site-header .brand-seal img{height:37px}
}
