/* ============================================================
   CARBON Centro - Reclutamiento
   Design: negro / blanco / gris / rojo vino  ·  moderno, minimalista
   ============================================================ */
:root{
  --wine-700:#5f1622;
  --wine-600:#7b1f2e;
  --wine-500:#97283a;
  --wine-050:#fbeef0;
  --ink-900:#0d0d0f;
  --ink-800:#151517;
  --ink-700:#1e1e22;
  --text:#16161a;
  --text-muted:#6b7280;
  --line:#e8e8ec;
  --line-2:#d9d9df;
  --surface:#ffffff;
  --surface-2:#f7f7f9;
  --surface-3:#f0f0f3;
  --success:#16a34a;
  --danger:#dc2626;
  --radius:16px;
  --radius-sm:11px;
  --radius-lg:26px;
  --shadow-sm:0 1px 2px rgba(13,13,15,.06),0 1px 1px rgba(13,13,15,.04);
  --shadow-md:0 18px 44px -20px rgba(13,13,15,.28);
  --shadow-lg:0 40px 90px -30px rgba(13,13,15,.42);
  --ring:0 0 0 4px rgba(151,40,58,.20);
  --ease:cubic-bezier(.4,0,.2,1);
  --dur:200ms;
  --fdisp:'Space Grotesk',system-ui,-apple-system,sans-serif;
  --fbody:'Inter',system-ui,-apple-system,sans-serif;
  --logo:url("data:image/png;base64,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");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;font-family:var(--fbody);color:var(--text);background:var(--surface);
  line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,legend{font-family:var(--fdisp);letter-spacing:-.02em;line-height:1.1;margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}
[hidden]{display:none !important}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto}}

.skip-link{position:fixed;left:1rem;top:-70px;z-index:2000;background:var(--wine-600);color:#fff;padding:.6rem 1.1rem;border-radius:var(--radius-sm);font-weight:600;transition:top var(--dur) var(--ease)}
.skip-link:focus{top:1rem}
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2rem)}
.wrap-form{max-width:920px}

/* ─── Botones ─── */
.btn{display:inline-flex;align-items:center;gap:.5rem;justify-content:center;font-family:var(--fbody);font-weight:600;font-size:.95rem;padding:.7rem 1.25rem;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease),color var(--dur);white-space:nowrap;background:none}
.btn:active{transform:translateY(1px)}
.btn-lg{padding:.9rem 1.7rem;font-size:1.02rem}
.btn-primary{background:var(--wine-600);color:#fff;box-shadow:0 10px 24px -12px rgba(123,31,46,.75)}
.btn-primary:hover{background:var(--wine-500);box-shadow:0 14px 30px -12px rgba(123,31,46,.9)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.32)}
.btn-ghost:hover{background:rgba(255,255,255,.16)}
.btn-outline{background:var(--surface);color:var(--wine-600);border-color:var(--line-2)}
.btn-outline:hover{border-color:var(--wine-500);background:var(--wine-050)}
.btn-text{background:none;color:var(--text-muted);border:none;font-weight:500}
.btn-text:hover{color:var(--danger)}
.btn-nav{background:var(--wine-600);color:#fff;padding:.55rem 1.1rem;font-size:.9rem}
.btn-nav:hover{background:var(--wine-500)}

/* ─── Nav ─── */
.nav{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.82);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line)}
.nav-inner{max-width:1120px;margin:0 auto;padding:.75rem clamp(1.1rem,4vw,2rem);display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:.6rem}
.brand-logo{width:116px;height:37px;background:var(--logo) left center/contain no-repeat;flex-shrink:0}
.brand-mark{font-family:var(--fdisp);font-weight:700;font-size:1.35rem;letter-spacing:.01em}
.brand-mark.small{font-size:1.05rem}
.brand-accent{color:var(--wine-600)}
.brand-sub{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}
.nav-links{display:flex;align-items:center;gap:1.6rem}
.nav-links a:not(.btn){font-weight:500;color:var(--text-muted);font-size:.92rem}
.nav-links a:not(.btn):hover{color:var(--text)}

/* ─── Hero ─── */
.hero{position:relative;min-height:min(88vh,720px);display:flex;align-items:center;overflow:hidden;color:#fff}
.hero-bg{position:absolute;inset:0;background:linear-gradient(120deg,#1a1a1d,#0d0d0f);background-size:cover;background-position:center}
.hero-bg::after{content:"";position:absolute;inset:0;background-image:url("https://images.unsplash.com/photo-1600891964092-4316c288032e?auto=format&fit=crop&w=1600&q=70");background-size:cover;background-position:center;opacity:.34;mix-blend-mode:luminosity}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(120% 120% at 15% 20%,rgba(123,31,46,.42),transparent 55%),linear-gradient(180deg,rgba(13,13,15,.55),rgba(13,13,15,.82))}
.hero-content{position:relative;max-width:1120px;margin:0 auto;padding:5rem clamp(1.1rem,4vw,2rem);width:100%}
.hero-eyebrow{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#f3c9cf;background:rgba(151,40,58,.28);border:1px solid rgba(255,255,255,.16);padding:.4rem .9rem;border-radius:999px;margin-bottom:1.4rem}
.hero-title{font-size:clamp(2.6rem,7vw,4.6rem);font-weight:700;max-width:14ch}
.hero-title .hl{color:#f3c9cf;position:relative}
.hero-sub{font-size:clamp(1.05rem,2.4vw,1.3rem);color:#e6e6ea;max-width:44ch;margin:1.3rem 0 2.1rem}
.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap}
.hero-trust{display:flex;gap:1.6rem;flex-wrap:wrap;margin-top:2.6rem;color:#c9c9d0;font-size:.9rem}
.hero-trust span{display:inline-flex;align-items:center;gap:.45rem}
.hero-trust i{color:#f3c9cf}

/* ─── Secciones ─── */
.section{padding:clamp(3.5rem,8vw,6rem) 0}
.section-alt{background:var(--surface-2)}
.section-head{max-width:640px;margin:0 auto 3rem;text-align:center}
.kicker{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--wine-600);margin-bottom:.8rem}
.section-head h2{font-size:clamp(1.9rem,4.5vw,2.8rem)}
.lead{color:var(--text-muted);font-size:1.08rem;margin-top:.9rem}

/* ─── Beneficios ─── */
.grid-benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem}
.card-benefit{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem;box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur)}
.card-benefit:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line-2)}
.benefit-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--wine-050);color:var(--wine-600);font-size:1.5rem;margin-bottom:1.1rem}
.card-benefit h3{font-size:1.15rem;margin-bottom:.4rem}
.card-benefit p{color:var(--text-muted);font-size:.95rem;margin:0}

/* ─── Vacantes ─── */
.grid-vacancies{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}
.card-vacancy{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;cursor:pointer;font-family:var(--fbody);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur)}
.card-vacancy:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--wine-500)}
.vac-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--ink-900);color:#fff;font-size:1.25rem}
.vac-name{font-weight:600;font-size:1.05rem;color:var(--text)}
.vac-cta{font-size:.85rem;font-weight:600;color:var(--wine-600);display:inline-flex;align-items:center;gap:.15rem;margin-top:auto}

/* ─── Formulario / Wizard ─── */
.form-shell{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:clamp(1.3rem,3vw,2.4rem)}
.wizard-progress{margin-bottom:1.1rem}
.wizard-bar{height:8px;background:var(--surface-3);border-radius:999px;overflow:hidden}
.wizard-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--wine-600),var(--wine-500));border-radius:999px;transition:width .4s var(--ease)}
.wizard-meta{margin-top:.5rem;font-size:.82rem;color:var(--text-muted);font-weight:500}
.wizard-steps{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0 0 1.8rem;counter-reset:st}
.wizard-steps li{counter-increment:st;font-size:.8rem;font-weight:600;color:var(--text-muted);padding:.4rem .8rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);cursor:pointer;transition:all var(--dur) var(--ease);display:flex;align-items:center;gap:.4rem}
.wizard-steps li::before{content:counter(st);display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--line-2);color:#fff;font-size:.72rem}
.wizard-steps li.is-active{background:var(--wine-600);color:#fff;border-color:var(--wine-600)}
.wizard-steps li.is-active::before{background:rgba(255,255,255,.35)}
.wizard-steps li.is-done{color:var(--wine-600);border-color:var(--wine-500)}
.wizard-steps li.is-done::before{content:"\2713";background:var(--wine-600)}

.step{border:none;padding:0;margin:0;display:none;animation:stepIn .35s var(--ease)}
.step.is-active{display:block}
@keyframes stepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.step-title{font-size:1.3rem;display:flex;align-items:center;gap:.6rem;margin-bottom:1.3rem;color:var(--text)}
.step-title i{color:var(--wine-600)}
.step-hint{color:var(--text-muted);font-size:.92rem;margin:-.5rem 0 1.1rem}
.block-label{display:block;font-weight:600;font-size:.95rem;margin-bottom:.7rem}

.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.field{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.field-wide{grid-column:1/-1}
.field label{font-size:.85rem;font-weight:600;color:var(--text)}
.req{color:var(--wine-600)}
.field input,.field select,.field textarea,.subgroup input,.rep-row input,.rep-row select,.rep-row textarea{
  font-family:var(--fbody);font-size:.95rem;color:var(--text);background:var(--surface);
  border:1.5px solid var(--line-2);border-radius:var(--radius-sm);padding:.68rem .8rem;width:100%;transition:border-color var(--dur),box-shadow var(--dur)
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--wine-500)}
.field input[readonly]{background:var(--surface-3);color:var(--text-muted)}
.field textarea{resize:vertical;min-height:64px}
.field input.invalid,.field select.invalid{border-color:var(--danger);box-shadow:0 0 0 3px rgba(220,38,38,.14)}
.up{text-transform:uppercase}
.subgroup{margin-top:1.1rem;padding:1.1rem;background:var(--surface-2);border:1px dashed var(--line-2);border-radius:var(--radius)}

/* Chips de competencias */
.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:0;height:0}
.chip span{display:inline-flex;align-items:center;padding:.5rem .95rem;border-radius:999px;border:1.5px solid var(--line-2);font-size:.88rem;font-weight:500;transition:all var(--dur) var(--ease);background:var(--surface)}
.chip input:checked+span{background:var(--wine-600);color:#fff;border-color:var(--wine-600)}
.chip input:focus-visible+span{box-shadow:var(--ring)}

/* Repetibles (experiencia / referencias) */
.rep-row{position:relative;padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;background:var(--surface-2)}
.rep-row .rep-title{font-weight:600;font-size:.9rem;color:var(--wine-600);margin-bottom:.9rem;display:flex;align-items:center;justify-content:space-between}
.rep-del{background:none;border:none;color:var(--danger);cursor:pointer;font-size:1.1rem;padding:.2rem;border-radius:8px}
.rep-del:hover{background:rgba(220,38,38,.1)}
.btn-add{margin-top:.3rem}

/* Documentos */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.8rem}
.doc-slot{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;padding:1.1rem .8rem;border:1.5px dashed var(--line-2);border-radius:var(--radius);cursor:pointer;transition:all var(--dur) var(--ease);background:var(--surface)}
.doc-slot:hover{border-color:var(--wine-500);background:var(--wine-050)}
.doc-slot i{font-size:1.6rem;color:var(--text-muted)}
.doc-slot .doc-name{font-weight:600;font-size:.82rem}
.doc-slot .doc-status{font-size:.72rem;color:var(--text-muted)}
.doc-slot.has-file{border-style:solid;border-color:var(--success);background:rgba(22,163,74,.06)}
.doc-slot.has-file i,.doc-slot.has-file .doc-status{color:var(--success)}
.doc-slot.too-big{border-color:var(--danger)}
.doc-slot.too-big .doc-status{color:var(--danger)}

/* Aviso privacidad */
.privacy{display:flex;gap:.7rem;align-items:flex-start;margin-top:1.6rem;padding:1.1rem;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);font-size:.9rem;color:var(--text-muted)}
.privacy input{margin-top:.2rem;width:18px;height:18px;accent-color:var(--wine-600);flex-shrink:0}
.privacy a{color:var(--wine-600);font-weight:600;text-decoration:underline}

/* Nav del wizard */
.wizard-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.wizard-nav-right{display:flex;align-items:center;gap:.6rem;margin-left:auto}
.form-msg{margin-top:1rem;font-size:.92rem;font-weight:500;min-height:1.2em}
.form-msg.err{color:var(--danger)}
.form-msg.ok{color:var(--success)}

/* Pantalla de exito */
.success-screen{position:fixed;inset:0;z-index:1500;background:rgba(13,13,15,.72);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1.2rem;animation:fade .3s var(--ease)}
@keyframes fade{from{opacity:0}to{opacity:1}}
.success-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:480px;width:100%;padding:2.6rem 2rem;text-align:center;animation:pop .4s var(--ease)}
@keyframes pop{from{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:none}}
.success-check{width:74px;height:74px;margin:0 auto 1.4rem;border-radius:50%;background:var(--success);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.4rem;animation:checkPop .5s var(--ease) .1s both}
@keyframes checkPop{from{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}
.success-card h2{font-size:1.7rem;margin-bottom:.7rem}
.success-card p{color:var(--text-muted);margin:.4rem 0}
.success-sub{font-size:.95rem}
.success-folio{font-weight:700;color:var(--wine-600);font-family:var(--fdisp);letter-spacing:.04em;margin:1.2rem 0 1.6rem !important}

/* Footer */
.footer{background:var(--ink-900);color:#c9c9d0;padding:2.6rem 0}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}
.footer .brand-mark{color:#fff}
.footer-logo{width:150px;height:46px;background:var(--logo) center/contain no-repeat;filter:brightness(0) invert(1);opacity:.92}
.footer p{margin:.2rem 0;font-size:.9rem}
.footer-links{display:flex;gap:1.2rem;align-items:center;margin-top:.6rem;font-size:.85rem}
.footer-links a{color:#f3c9cf}
.footer-links a:hover{text-decoration:underline}

/* Responsive */
@media (max-width:640px){
  .fgrid{grid-template-columns:1fr}
  .nav-links{gap:.9rem}
  .nav-links a:not(.btn){display:none}
  .hero-trust{gap:1rem}
  .wizard-steps li{font-size:0;padding:.35rem;gap:0}
  .wizard-steps li::before{margin:0}
  .wizard-nav{flex-wrap:wrap}
  .wizard-nav-right{width:100%;justify-content:space-between}
}
