/* ============================================================
   CIMENTOS · Barra de navegación única (se usa igual en todas las páginas)
   ============================================================ */
.site-nav{position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;background:#fff;box-shadow:0 0.25rem 1.5rem rgba(19,34,47,.08);transition:background .3s,box-shadow .3s,transform .35s ease;font-family:var(--font)}
.site-nav.nav-hidden{transform:translateY(-110%)}
.site-nav .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:0.625rem var(--pad);max-width:calc(var(--max) + 2*var(--pad));margin:0 auto}
.site-nav .nav-logo{display:flex;align-items:center;text-decoration:none}
.site-nav .nav-logo img{height:3rem;width:auto;display:block}
.site-nav .nav-links{display:flex;gap:clamp(1rem,1.8vw,2rem);list-style:none;margin:0;padding:0}
.site-nav .nav-links a{font-size:0.9375rem;font-weight:400;color:var(--navy);text-decoration:none;letter-spacing:.01em;position:relative;padding:0.375rem 0;transition:color .2s;text-transform:none}
.site-nav .nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--red);transition:width .3s}
.site-nav .nav-links a:hover,.site-nav .nav-links a.active{color:var(--red)}
.site-nav .nav-links a:hover::after,.site-nav .nav-links a.active::after{width:100%}
.site-nav .nav-right{display:flex;align-items:center;gap:0.75rem}
.site-nav .nav-cta{display:inline-flex;align-items:center;gap:0.75rem;background:var(--navy);color:#fff;padding:0.9375rem 1.375rem;font-size:1rem;font-weight:500;letter-spacing:.02em;line-height:1;text-decoration:none;transition:background .25s,color .25s}
.site-nav .nav-cta svg{width:0.875rem;height:0.875rem;flex-shrink:0}
.site-nav .nav-cta:hover{background:var(--red)}
.site-nav .menu-btn{display:none;width:2.625rem;height:2.625rem;background:var(--navy);border:0;color:#fff;cursor:pointer;align-items:center;justify-content:center;padding:0}
.site-nav .menu-btn svg{width:1.25rem;height:1.25rem}
.site-nav .mobile-menu{display:none;flex-direction:column;padding:0.5rem var(--pad) 1.375rem;border-top:1px solid var(--line,rgba(26,43,64,.12))}
.site-nav .mobile-menu.open{display:flex}
.site-nav .mobile-menu a{padding:0.875rem 0;font-size:1.0625rem;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--line,rgba(26,43,64,.12))}
.site-nav .mobile-menu a.cta{background:var(--red);color:#fff;text-align:center;margin-top:0.875rem;border:0;padding:1rem}

/* Sobre el hero: transparente (solo letras); al subir aparece blanca */
.site-nav.nav-over:not(.nav-solid){background:transparent;box-shadow:none}
.site-nav.nav-over:not(.nav-solid)::before{content:"";position:absolute;left:0;right:0;top:0;height:150%;background:linear-gradient(180deg,rgba(19,34,47,.55) 0%,rgba(19,34,47,0) 100%);pointer-events:none;z-index:-1}
.site-nav.nav-over:not(.nav-solid) .nav-links a{color:#fff}
.site-nav.nav-over:not(.nav-solid) .nav-links a::after{background:var(--red-soft,#F03A3A)}
.site-nav.nav-over:not(.nav-solid) .nav-cta{background:#fff;color:var(--navy)}
.site-nav.nav-over:not(.nav-solid) .menu-btn{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.7)}

@media(max-width:1180px){
  .site-nav .nav-links,.site-nav .nav-cta{display:none}
  .site-nav .menu-btn{display:flex}
}
@media(max-width:720px){.site-nav .nav-logo img{height:2.375rem}}

/* Transición entre páginas: en vez de un corte (parpadeo) se hace un fundido corto; el menú no se mueve */
@view-transition{navigation:auto}
.site-nav{view-transition-name:site-nav}
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}
::view-transition-group(site-nav){animation:none}
::view-transition-old(site-nav),::view-transition-new(site-nav){animation:none;mix-blend-mode:normal}
::view-transition-old(site-nav){display:none}
