.site-header{position:fixed;top:0;left:0;width:100%;background-color:rgba(14,61,103,.95);backdrop-filter:blur(10px);z-index:1000}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--primary-gradient);opacity:.85}
.header-container{--header-inset:2rem;position:relative;max-width:1200px;margin:0 auto;padding:1.2rem var(--header-inset);display:flex;gap:1.25rem;align-items:center;transition:padding .3s}
.site-header.scrolled{box-shadow:0 4px 20px rgba(0,0,0,.25)}
.site-header.scrolled .header-container{padding-top:.65rem;padding-bottom:.65rem}
.site-header.scrolled .logo-img{height:46px}
.logo{display:flex;align-items:center;flex-shrink:0}
.logo a{display:flex;align-items:center;line-height:0}
.logo-img{height:64px;width:auto;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));transition:height .3s}
.header-controls{display:flex;align-items:center;gap:clamp(.75rem,1.1vw,1rem);margin-left:auto;flex-shrink:0}
.header-cta{order:3;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;background:transparent;border:0;border-radius:8px;color:var(--white);text-decoration:none;transition:var(--transition)}
.header-cta:hover,.header-cta:focus-visible{color:var(--primary)}
.header-cta:focus-visible{outline:0}
.main-nav{order:1;min-width:0}
.nav-drawer-links{display:flex;align-items:center;gap:clamp(.65rem,1.2vw,1.25rem);width:max-content}
.main-nav a{color:var(--white);font-size:.86rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .2s}
.main-nav a:hover{color:var(--primary)}
.main-nav a:focus-visible{outline:2px solid var(--white);outline-offset:4px}
.language-dropdown{order:2;position:relative;width:44px;flex-shrink:0;color:var(--white)}
.language-dropdown select{display:block;width:100%;height:44px;appearance:none;-webkit-appearance:none;background:transparent;border:0;border-radius:8px;padding:0;color:transparent;text-shadow:none;cursor:pointer;font-family:var(--font-base);font-size:.86rem;font-weight:600;line-height:1.3}
.language-dropdown:hover,.language-dropdown:focus-within{color:var(--primary)}
.language-dropdown select:focus-visible{outline:0}
.language-dropdown option{background:var(--white);color:var(--bg-dark);font-weight:400}
.language-globe,.language-caret{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}
.language-globe{left:8px}
.language-caret{right:2px}
.nav-toggle{display:none;order:4;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:0;background:none;border:1px solid rgba(255,255,255,.25);border-radius:50%;cursor:pointer;transition:var(--transition)}
.nav-toggle:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.07)}
.nav-toggle:focus-visible{border-radius:50%}
.nav-toggle-bars{position:relative;display:block;width:20px;height:14px}
.nav-toggle-bars span{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:var(--white);transition:transform .25s,top .25s,opacity .2s}
.nav-toggle-bars span:first-child{top:0}
.nav-toggle-bars span:nth-child(2){top:6px}
.nav-toggle-bars span:nth-child(3){top:12px}
.nav-toggle.open .nav-toggle-bars span:first-child{top:6px;transform:rotate(45deg)}
.nav-toggle.open .nav-toggle-bars span:nth-child(2){opacity:0}
.nav-toggle.open .nav-toggle-bars span:nth-child(3){top:6px;transform:rotate(-45deg)}
/* La clase se decide midiendo el espacio real, también al cambiar de idioma. */
.is-compact .nav-toggle{display:inline-flex}
.is-compact .main-nav{position:absolute;top:calc(100% + .5rem);right:var(--header-inset);width:min(320px,calc(100vw - 2 * var(--header-inset)));max-height:calc(100dvh - 120px);padding:.65rem 1rem;background:var(--bg-dark);border:1px solid rgba(255,255,255,.18);border-top:2px solid var(--primary);border-radius:12px;box-shadow:0 12px 28px rgba(0,0,0,.25);overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-8px);transform-origin:top right;transition:opacity .2s,transform .2s,visibility .2s}
.is-compact .main-nav.open{visibility:visible;opacity:1;transform:translateY(0)}
.is-compact .nav-drawer-links{flex-direction:column;align-items:stretch;gap:0;width:100%}
.is-compact .main-nav a{display:block;padding:.7rem .4rem;font-size:1rem;border-bottom:1px solid rgba(255,255,255,.12);white-space:normal}
.is-compact .main-nav a:last-child{border-bottom:0}
/* Medir el ancho de la fila completa sin mostrarla ni duplicar enlaces. */
.header-container.nav-measuring .main-nav{position:absolute;visibility:hidden;opacity:0;width:max-content;max-height:none;padding:0;border:0;overflow:visible;transform:none;transition:none}
.header-container.nav-measuring .nav-drawer-links{flex-direction:row;align-items:center;gap:clamp(.65rem,1.2vw,1.25rem);width:max-content}
.header-container.nav-measuring .main-nav a{padding:0;font-size:.86rem;border:0;white-space:nowrap}
#nosotros,#servicios,#sustratos,#procesos,#proyectos,#detras-de-escena{scroll-margin-top:100px}
@media (max-width:600px){
 .header-container{--header-inset:1rem;padding-top:.8rem;padding-bottom:.8rem;gap:.75rem}
 .logo{flex-shrink:1;min-width:0}
 .logo a{min-width:0;max-width:100%}
 .site-header .logo-img{height:48px;max-width:100%;object-fit:contain;object-position:left center}
 .header-controls{gap:.25rem}
}
@media (prefers-reduced-motion:reduce){.main-nav,.nav-toggle-bars span{transition:none}}
