  html body .uppercase{ text-transform:none !important; }
  html body .tracking-wider, html body .tracking-wide{ letter-spacing:normal !important; }
  h1,h2,h3{ font-family:'Bricolage Grotesque','IBM Plex Sans',sans-serif; letter-spacing:-.01em; }
  .tabular-nums{ font-variant-numeric:tabular-nums; }
  summary::-webkit-details-marker{ display:none; }
  details[open] > summary > i:last-child{ transform:rotate(180deg); }
  .nav-item{ display:flex; align-items:center; padding:0 1rem; font-size:.9375rem; font-weight:500; color:#4A5470; border-bottom:2px solid transparent; white-space:nowrap; transition:color .15s,border-color .15s; }
  .nav-item.hidden{ display:none; }
  @media (max-width:1349px){ .nav-item{ padding:0 .9rem; font-size:.875rem; } }
  @media (max-width:1199px){ .nav-item{ padding:0 .8rem; } }
  @media (max-width:1019px){ .nav-item{ padding:0 .6rem; font-size:.8125rem; } }
  @media (min-width:1536px){ .nav-item{ padding:0 1.1rem; font-size:.9375rem; } }
  .nav-item:hover{ color:#151A2E; }
  .nav-item.active{ color:#0C5B5E; font-weight:600; border-bottom-color:#0F7274; }
  .fld{ width:100%; font-size:.875rem; padding:.5rem .625rem; border:1px solid #C5CBDB; border-radius:.375rem; outline:none; background:#fff; }
  .fld:focus{ box-shadow:0 0 0 2px #36A19F; border-color:#1B8A89; }
  .fld-label{ display:block; font-size:.75rem; font-weight:600; color:#4A5470; margin-bottom:.25rem; }
  .modo-toggle-btn{ display:inline-flex; align-items:center; gap:.375rem; font-size:.75rem; font-weight:600; padding:.5rem .875rem; border-radius:.375rem; border:1px solid #C5CBDB; background:#fff; color:#4A5470; transition:all .15s; }
  .modo-toggle-btn.active{ background:#1E40C8; border-color:#1E40C8; color:#fff; }
  .bg-rey{ background:#1E40C8; }
  .hpick.fld-err input{ border-color:#e11d48; background:#fef2f2; }
  .hdr-mint{ background:#CCFBF1 !important; color:#115E59 !important; }
  .hdr-mint button{ color:#115E59 !important; }
  .btn-rey{ background:#1E40C8; color:#fff; } .btn-rey:hover{ background:#1832A3; }
  .fld-err{ border-color:#E11D48 !important; background:#FFF1F2 !important; }
  #cv-drawer{ transition:transform .25s ease; }
  /* Ruta de seguimiento: etapas de la vacante como paradas de un rastreo */
  .trk{ display:flex; }
  .trk-n{ flex:1; position:relative; text-align:center; }
  .trk-n::before{ content:''; position:absolute; top:6px; right:50%; width:100%; height:2px; background:#DDE1EC; }
  .trk-n:first-child::before{ display:none; }
  .trk-n{ --c:#0F7274; }
  .trk-n.done::before{ background:var(--c); }
  .seg-btn{ color:#646E8A; } .seg-btn.on{ background:#fff; color:#1E40C8; box-shadow:0 1px 2px rgba(21,26,46,.15); }
  .trk-dot{ display:block; width:14px; height:14px; margin:0 auto; border-radius:50%; background:#fff; border:2px solid #C5CBDB; position:relative; z-index:1; }
  .trk-n.done .trk-dot{ background:var(--c); border-color:var(--c); }
  .trk-n.cur .trk-dot{ box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 22%,transparent); }
  .trk-n.warn .trk-dot{ background:#fff; border-color:#F2A900; box-shadow:0 0 0 4px rgba(242,169,0,.2); }
  .trk-l{ display:block; margin-top:.375rem; font-size:.6875rem; color:#8E97B0; }
  .trk-n.done .trk-l{ color:#4A5470; }
  .trk-n.cur .trk-l{ color:var(--c); font-weight:700; }

/* Logo RAC: reposo estático; la animación del pipeline solo corre al pasar el cursor */
.rac-logo{cursor:default}
.rac-dot{transform-box:fill-box;transform-origin:center}
.rac-logo:hover .rac-dot{animation:racDot .75s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*.13s)}
@keyframes racDot{0%{transform:scale(0);opacity:0}60%{transform:scale(1.5);opacity:1}100%{transform:scale(1);opacity:1}}
/* En la pantalla de inicio la animación corre en bucle */
.rac-loop .rac-dot{animation:racLoop 6s ease-in-out infinite;animation-delay:calc(var(--i)*.45s)}
@keyframes racLoop{0%,6%{transform:scale(0);opacity:0}16%{transform:scale(1.5);opacity:1}22%,78%{transform:scale(1);opacity:1}90%,100%{transform:scale(0);opacity:0}}
@media (prefers-reduced-motion:reduce){.rac-logo:hover .rac-dot,.rac-loop .rac-dot{animation:none}}
