/* Interfaz: menú móvil, foco visible, salto al contenido, contraste y movimiento reducido (auditoría oct 2026) */
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--ink);color:#fff;padding:10px 14px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.skip:focus{left:12px}
.hamburger{display:none!important}
.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--line);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;flex:none}
.menu-btn span{display:block;width:20px;height:2px;background:var(--ink);transition:transform .25s ease,opacity .2s ease}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.has-mega:focus-within .mega{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
a:focus-visible,button:focus-visible{outline:2px solid var(--coral);outline-offset:3px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--coral)!important;outline-offset:2px;border-color:var(--coral)!important}
@media(max-width:1000px){
  .menu-btn{display:flex}
  .nav-inner{position:relative}
  .nav-links.open{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:6px 32px 26px;max-height:calc(100vh - 90px);overflow:auto;box-shadow:0 26px 40px -30px rgba(0,0,0,.45);z-index:95}
  .nav-links.open>a,.nav-links.open .has-mega>a{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
  .nav-links.open a::after{display:none}
  .nav-links.open .mega{position:static;opacity:1;pointer-events:auto;transform:none;min-width:0;grid-template-columns:1fr;border:0;padding:6px 0 10px;background:transparent;display:grid}
  .nav-links.open .cta-coral{margin-top:18px;text-align:center;padding:14px;border-bottom:0}
}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none!important}}
.num-sec,.case .num,.team .role,.role{color:#AE3C3E}
.stats-band .lbl,.right-meta{color:#5d5d5d}
.rgpd-1{font-size:12px;line-height:1.55;color:var(--mute);margin-top:12px;max-width:72ch}
.rgpd-1 a{color:var(--ink);border-bottom:1px solid var(--line-2)}
