/* =========================================================
   KIBOU PHARMA · PÁGINA CARRERAS · carreras.css
   Todo el contenido entre el header y el footer del sitio, dentro de <div class="kb-carreras">.
   Cada selector va prefijado con .kb-carreras para no chocar con Divi ni con otras páginas.
   Botones: usa el sistema 2.7 (kibou-botones.css), que no se repite acá.
   Breakpoints: 1180 / 980 / 767 / 359 px (los mismos de las otras páginas del sitio).
   ========================================================= */

.kb-carreras{
  /* Marca */
  --azul:#003E56; --aqua:#009586;
  /* Neutros del sitio: texto de párrafo, degradé de Nosotros y gris de los filtros */
  --gris-texto:#4A6472; --menta:#DCEFEB; --banda:#EEF2F2; --blanco:#FFFFFF;
  /* Degradé del banner del sitio: #DCEFEB → #EEF7F5 (62 %) → blanco */
  --menta-media:#EEF7F5;
  /* Eyebrow del banner del sitio (Contacto, Noticias), medido en vivo */
  --eyebrow-banner:#008C7F;
  /* Derivados del azul y del texto (transparencias) */
  --linea:rgba(0,62,86,.14); --linea-campo:rgba(0,62,86,.25); --placeholder:rgba(74,100,114,.7);
  /* Validación de Contacto */
  --error:#B7211E;
  --jano:"Jano Sans Pro","Kibou Jano Medium",system-ui,sans-serif;
  --inter:Inter,"Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
.kb-carreras,.kb-carreras *,.kb-carreras *::before,.kb-carreras *::after{box-sizing:border-box}
.kb-carreras{color:var(--azul);font-family:var(--inter);-webkit-font-smoothing:antialiased}
.kb-carreras a{color:inherit;text-decoration:none}
.kb-carreras button:not(.kb-btn):not(.kb-btn-sec):not(.kb-link),.kb-carreras input,.kb-carreras select,.kb-carreras textarea{font:inherit;color:inherit}
.kb-carreras :is(a,button).kb-btn,.kb-carreras :is(a,button).kb-btn-sec{color:#fff!important}
.kb-carreras h1,.kb-carreras h2,.kb-carreras h3{text-wrap:balance}
/* Neutraliza los estilos por defecto de Divi (padding de p y títulos, viñetas de ul) dentro de la página */
.kb-carreras p,.kb-carreras h1,.kb-carreras h2,.kb-carreras h3,.kb-carreras h4{padding-bottom:0}
.kb-carreras ul,.kb-carreras ol{padding:0;list-style:none}
.kb-carreras img{max-width:100%}

.kb-carreras .wrap{width:calc(100% - 128px);max-width:1296px;margin:0 auto}

.kb-carreras .eyebrow{margin:0;font:600 13px/1.2 var(--inter);letter-spacing:1.82px;text-transform:uppercase;color:var(--aqua)}
.kb-carreras .h2{margin:14px 0 0;font:500 44px/48px var(--jano);letter-spacing:-.44px;color:var(--azul)}
.kb-carreras .lede{margin:0;font:400 18px/29px var(--inter);color:var(--gris-texto)}

/* ---------- Hero ---------- */
/* El eyebrow arranca a la misma altura que en Contacto y Noticias: 201 / 214 / 152 px */
.kb-carreras .hero{background:linear-gradient(180deg,var(--menta) 0%,var(--menta-media) 62%,var(--blanco) 100%);padding:201px 0 96px}
.kb-carreras .hero-in{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:72px;align-items:start}
.kb-carreras .hero-txt{min-width:0}
/* Mismo tamaño que el título del banner de Contacto y Noticias: 46 / 42 / 34 px */
.kb-carreras .hero .eyebrow{font:600 12px/15px var(--inter);letter-spacing:1.68px;color:var(--eyebrow-banner)}
.kb-carreras .hero h1{margin:12px 0 14px;font:500 46px/1.08 var(--jano);letter-spacing:normal;color:var(--azul)}
/* Titular: palabras que entran escalonadas (inspirado en React Bits staggered-text) */
.kb-carreras .hero h1 .w{display:inline-block}
@media (prefers-reduced-motion:no-preference){
  .kb-carreras .hero h1 .w{animation:kbc-wup .9s var(--ease) both;animation-delay:calc(var(--i) * 70ms + 80ms)}
}
@keyframes kbc-wup{from{opacity:0;transform:translateY(.45em);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.kb-carreras .hero .lede{max-width:540px;font:400 18px/29px var(--inter);color:var(--gris-texto)}
.kb-carreras .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.kb-carreras .ctas .kb-link{margin-left:14px}
.kb-carreras .hero-ph{position:relative;margin:0;min-width:0}
.kb-carreras .hero-ph img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 0%;border-radius:20px}
@media (prefers-reduced-motion:no-preference){
  .kb-carreras .hero-txt>:not(h1),.kb-carreras .hero-ph{animation:kbc-rise .8s var(--ease) both}
  .kb-carreras .hero-txt>:nth-child(2){animation-delay:.06s}.kb-carreras .hero-txt>:nth-child(3){animation-delay:.12s}
  .kb-carreras .hero-txt>:nth-child(4){animation-delay:.18s}.kb-carreras .hero-txt>:nth-child(5){animation-delay:.24s}.kb-carreras .hero-ph{animation-delay:.1s}
}
@keyframes kbc-rise{from{transform:translateY(14px)}to{transform:none}}

/* ---------- Vacantes disponibles ---------- */
.kb-carreras .sec{padding:96px 0}
.kb-carreras .jobs{padding-top:0}
.kb-carreras .sec-h{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.kb-carreras .sec-h .meta{margin:0;font:400 15px/1.4 var(--inter);color:var(--gris-texto)}
.kb-carreras .sec-h .meta b{color:var(--azul);font-weight:700}
.kb-carreras .list{margin:48px 0 0;padding:0;list-style:none;border-bottom:1px solid var(--linea)}
/* La vacante abierta se marca con el gris de los filtros del sitio; el fondo sobresale 24px para que el texto quede alineado */
.kb-carreras .job{position:relative;margin:0 -24px;padding:0 24px;border-radius:20px;transition:background-color .3s}
.kb-carreras .job::before{content:"";position:absolute;left:24px;right:24px;top:0;height:1px;background:var(--linea);transition:opacity .3s}
.kb-carreras .job.is-open{background:var(--banda)}
.kb-carreras .job.is-open::before,.kb-carreras .job.is-open+.job::before{opacity:0}
.kb-carreras .list:has(.job:last-child.is-open){border-bottom-color:transparent}
.kb-carreras .job-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.9fr) minmax(0,1.15fr) 44px;gap:24px;align-items:center;width:100%;padding:28px 8px 28px 0;border:0;background:none;text-align:left;cursor:pointer;transition:background-color .25s}
.kb-carreras .job-row:focus-visible{outline:2px solid var(--aqua);outline-offset:-2px;border-radius:12px}
.kb-carreras .job-t{min-width:0}
.kb-carreras .job-hd{margin:0;font:inherit}
.kb-carreras .job-title{display:block;margin:0;font:500 24px/29px var(--jano);color:var(--azul);transition:color .25s}
.kb-carreras .job.is-open .job-title{color:var(--aqua)}
.kb-carreras .job-ref{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;font:400 14px/1.4 var(--inter);color:var(--gris-texto)}
.kb-carreras .job-m{display:none;margin-top:6px;font:500 14px/1.4 var(--inter);color:var(--azul)}
.kb-carreras .job-k{min-width:0}
.kb-carreras .job-k small{display:block;font:600 12px/1.2 var(--inter);letter-spacing:1.2px;text-transform:uppercase;color:var(--gris-texto)}
.kb-carreras .job-k span{display:block;margin-top:6px;font:500 16px/1.4 var(--inter);color:var(--azul)}
.kb-carreras .tog{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--aqua);color:var(--azul);transition:background-color .3s,color .3s,transform .4s var(--ease)}
.kb-carreras .tog svg{width:16px;height:16px}
@media (hover:hover) and (pointer:fine){.kb-carreras .job-row:hover .tog{background:rgba(0,149,134,.10)}}
.kb-carreras .job.is-open .tog{transform:rotate(45deg)}
.kb-carreras .job-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.kb-carreras .job.is-open .job-body{grid-template-rows:1fr}
.kb-carreras .job-body>div{overflow:hidden;min-height:0}
/* Una línea separa el encabezado de la vacante (título, fecha, área y modalidad) de su detalle */
.kb-carreras .job-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px 48px;padding:32px 0 40px;border-top:1px solid var(--linea)}
.kb-carreras .job-in h4{margin:0 0 14px;font:600 13px/1.2 var(--inter);letter-spacing:1.4px;text-transform:uppercase;color:var(--aqua)}
.kb-carreras .job-in ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.kb-carreras .job-in li{position:relative;padding-left:20px;font:400 16px/25px var(--inter);color:var(--gris-texto)}
.kb-carreras .job-in li::before{content:"";position:absolute;left:2px;top:10px;width:6px;height:6px;border-radius:50%;background:var(--aqua)}
/* El botón cierra la ficha: debajo de Responsabilidades y Requisitos, alineado a la izquierda */
.kb-carreras .job-cta{grid-column:1/-1;display:flex}
@media (prefers-reduced-motion:reduce){.kb-carreras .job-body,.kb-carreras .tog{transition:none}}

/* Estado vacío */
/* Escritorio: texto a la izquierda y botones a la derecha, a todo el ancho */
.kb-carreras .empty{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px 48px;align-items:center;margin-top:48px;padding:48px;border-radius:20px;background:var(--azul)}
.kb-carreras .empty h3{margin:0 0 12px;font:500 32px/37px var(--jano);letter-spacing:-.32px;color:#fff}
.kb-carreras .empty .lede{max-width:640px;color:rgba(255,255,255,.78)}
.kb-carreras .empty .ctas{margin-top:0;flex-wrap:nowrap}

/* ---------- Por qué Kibou ---------- */
.kb-carreras .why{background:var(--blanco);padding-top:0}
.kb-carreras .why-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:80px;align-items:stretch}
.kb-carreras .why-ph{position:relative;margin:0;min-height:100%;border-radius:20px;overflow:hidden;background:var(--banda)}
.kb-carreras .why-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 62%}
.kb-carreras .why-txt{min-width:0;padding:8px 0}
.kb-carreras .reasons{margin:40px 0 0;padding:0;list-style:none}
.kb-carreras .reasons li{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;padding:24px 0;border-top:1px solid var(--linea)}
.kb-carreras .reasons h3{margin:0;font:500 22px/26px var(--jano);letter-spacing:-.22px;color:var(--azul)}
.kb-carreras .reasons p{margin:0;font:400 16px/25px var(--inter);color:var(--gris-texto)}
.kb-carreras .values{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;padding-top:28px;border-top:1px solid var(--linea)}
.kb-carreras .values small{margin-right:8px;font:600 12px/1.2 var(--inter);letter-spacing:1.2px;text-transform:uppercase;color:var(--gris-texto)}
.kb-carreras .values span{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;background:var(--banda);font:500 14px/1 var(--inter);color:var(--azul)}

/* ---------- Formulario ---------- */
.kb-carreras .apply{background:var(--banda)}
/* Escritorio: texto y notas a la izquierda, formulario a la derecha. Apilado: texto, formulario y notas */
.kb-carreras .apply-in{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);grid-template-areas:"txt card" "notes card";grid-template-rows:auto 1fr;column-gap:72px;align-items:start}
.kb-carreras .apply-txt{grid-area:txt;min-width:0;padding-top:8px}
.kb-carreras .apply-in .card{grid-area:card}
.kb-carreras .apply-in .notes{grid-area:notes}
.kb-carreras .apply-txt .lede{margin-top:20px}
.kb-carreras .notes{margin:36px 0 0;padding:0;list-style:none;display:grid;gap:18px}
.kb-carreras .notes li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:14px;font:400 15px/23px var(--inter);color:var(--gris-texto)}
.kb-carreras .notes svg{width:20px;height:20px;margin-top:2px;color:var(--aqua)}
.kb-carreras .notes b{color:var(--azul);font-weight:600}
/* Correo como hipervínculo del manual (.kb-a): azul subrayado, aqua al pasar el mouse */
.kb-carreras .mail{display:inline-block;margin-top:4px;font-weight:600;color:var(--azul)!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px}
@media (hover:hover) and (pointer:fine){.kb-carreras .mail:hover{color:var(--aqua)!important}}

.kb-carreras .card{background:var(--blanco);border-radius:20px;box-shadow:0 18px 42px rgba(0,62,86,.08);padding:44px}
.kb-carreras .form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin:0}
.kb-carreras .form :is(label,input,select,textarea,button,.lbl,.drop-t,.cnt){text-transform:none}
.kb-carreras .form,.kb-carreras .form *{letter-spacing:normal!important}
.kb-carreras .full{grid-column:1/-1}
.kb-carreras .f{display:flex;flex-direction:column;min-width:0}
.kb-carreras .f[hidden]{display:none}
.kb-carreras .f>label:not(.drop):not(.chk),.kb-carreras .f .lbl{margin:0 0 8px;font:600 14px/1.35 var(--inter);color:var(--azul)!important}
.kb-carreras .f .opt{font-weight:400;color:var(--azul)!important}
/* Asterisco de campo obligatorio: mismo color que la etiqueta (rojo cuando hay error) */
.kb-carreras .req{margin-left:1px}
.kb-carreras .in{display:block;width:100%;height:51px;padding:0 16px;border:1px solid var(--linea-campo);border-radius:12px;background:#fff;font:400 15px/1.3 var(--inter);color:var(--azul);transition:border-color .2s,box-shadow .2s;appearance:none}
.kb-carreras .in::placeholder{color:var(--placeholder);opacity:1}
.kb-carreras .in:hover:not(:focus){border-width:1px!important;border-color:var(--linea-campo)!important}
.kb-carreras .in:focus{outline:none;border-color:var(--aqua);box-shadow:0 0 0 3px rgba(0,149,134,.12)}
.kb-carreras select.in{padding-right:44px;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23003E56' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 18px center/12px 8px no-repeat}
.kb-carreras select.in:invalid{color:var(--placeholder)}
.kb-carreras textarea.in{height:116px;padding:14px 16px;line-height:24px;resize:vertical}
.kb-carreras .cnt{align-self:flex-end;margin-top:6px;font:400 13px/1 var(--inter);color:var(--gris-texto);font-variant-numeric:tabular-nums}
.kb-carreras .err{margin:6px 0 0;font:400 13px/1.35 var(--inter);color:var(--error)}
.kb-carreras .err:empty{display:none}
.kb-carreras .f.bad>label:not(.drop):not(.chk),.kb-carreras .f.bad .lbl{color:var(--error)!important}
.kb-carreras .f.bad .in,.kb-carreras .f.bad .drop{border-color:var(--error)}
.kb-carreras .f.bad .in:focus{box-shadow:0 0 0 3px rgba(183,33,30,.12)}

.kb-carreras .drop{position:relative;display:flex;align-items:center;gap:16px;padding:20px;border:1.5px dashed rgba(0,62,86,.3);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .2s,background-color .2s}
.kb-carreras .drop:hover,.kb-carreras .drop.over{border-color:var(--aqua);background:rgba(0,149,134,.04)}
.kb-carreras .drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.kb-carreras .drop:focus-within{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(0,149,134,.12)}
.kb-carreras .drop-ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--banda);color:var(--aqua)}
.kb-carreras .drop-ic svg{width:22px;height:22px}
.kb-carreras .drop-t{min-width:0;font:500 15px/1.4 var(--inter);color:var(--azul)}
.kb-carreras .drop-t u{text-decoration-color:var(--aqua);text-underline-offset:3px}
.kb-carreras .drop-t small{display:block;margin-top:2px;font-weight:400;font-size:13px;color:var(--gris-texto)}
.kb-carreras .file{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--linea-campo);border-radius:12px;background:var(--banda)}
.kb-carreras .file[hidden]{display:none}
.kb-carreras .file .drop-ic{background:#fff}
.kb-carreras .file-n{flex:1;min-width:0}
.kb-carreras .file-n b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 15px/1.35 var(--inter);color:var(--azul)}
.kb-carreras .file-n span{font:400 13px/1.3 var(--inter);color:var(--gris-texto)}
.kb-carreras .file button{flex:none;border:0;background:none;padding:8px;margin:-8px;font:600 14px/1 var(--inter);color:var(--azul);cursor:pointer;text-decoration:underline 1px;text-underline-offset:3px}
.kb-carreras .file button:hover{color:var(--error)}

.kb-carreras .chk{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;cursor:pointer;font:400 14px/1.5 var(--inter);letter-spacing:0!important;color:var(--azul)!important}
.kb-carreras .chk input{appearance:none;width:21px;height:21px;margin:0;border:1.5px solid rgba(0,62,86,.45);border-radius:6px;background:#fff;cursor:pointer;display:grid;place-items:center;transition:background-color .2s,border-color .2s}
/* Tilde dibujado en SVG: trazo redondeado y centrado */
.kb-carreras .chk input:checked{border-color:var(--azul);background:var(--azul) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.3l2.9 2.9 6.1-6.4' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px 14px no-repeat}
.kb-carreras .chk input:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}
.kb-carreras .chk .kb-a{color:var(--azul)!important;font-weight:600;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px}
@media (hover:hover) and (pointer:fine){.kb-carreras .chk .kb-a:hover{color:var(--aqua)!important}}
.kb-carreras .f.bad .chk input{border-color:var(--error)}
.kb-carreras .send{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:8px}

.kb-carreras .done{display:grid;justify-items:start;gap:0;padding:24px 0}
.kb-carreras .done[hidden]{display:none}
.kb-carreras .done-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--aqua);color:#fff}
.kb-carreras .done-ic svg{width:26px;height:26px}
.kb-carreras .done h3{margin:24px 0 10px;font:500 32px/37px var(--jano);letter-spacing:-.32px;color:var(--azul)}
.kb-carreras .done p{margin:0 0 28px;max-width:480px;font:400 16px/25px var(--inter);color:var(--gris-texto)}
.kb-carreras .done p b{color:var(--azul);font-weight:600}

/* Celulares muy angostos (320 px): el botón del hero reduce su relleno lateral para que entre en la fila */
@media (max-width:359px){.kb-carreras .hero .ctas .kb-btn{--px:20px}}

/* ---------- Tablet 768–1180 ---------- */
@media (max-width:1180px){
  .kb-carreras .hero-in{gap:48px}
  .kb-carreras .why-in{gap:48px}
  .kb-carreras .reasons li{grid-template-columns:minmax(0,1fr);gap:8px}
  .kb-carreras .apply-in{column-gap:48px}
}
@media (max-width:980px){
  .kb-carreras .hero h1{font-size:42px}
  .kb-carreras .hero{padding-top:214px}
  .kb-carreras .hero-in,.kb-carreras .why-in,.kb-carreras .apply-in,.kb-carreras .empty{grid-template-columns:minmax(0,1fr)}
  .kb-carreras .apply-in{grid-template-areas:"txt" "card" "notes";grid-template-rows:auto;row-gap:40px}
  .kb-carreras .apply-in .notes{margin-top:0}
  .kb-carreras .hero-ph img{aspect-ratio:4/3}
  /* Apilado: la foto va en el flujo con su propia proporción (Safari no le daba altura a la figura con la imagen absoluta) */
  .kb-carreras .why-ph{min-height:0;align-self:start}
  .kb-carreras .why-ph img{position:static;display:block;height:auto;aspect-ratio:16/10}
  .kb-carreras .job-row{grid-template-columns:minmax(0,1fr) 44px}
  .kb-carreras .job-k{display:none}
  .kb-carreras .job-m{display:block}
}

/* ---------- Móvil ≤767 ---------- */
@media (max-width:767px){
  .kb-carreras .wrap{width:calc(100% - 40px)}
  .kb-carreras .sec{padding:64px 0}
  .kb-carreras .jobs,.kb-carreras .why{padding-top:0}
  /* Móvil: mismos valores que Nosotros (títulos 28/33, eyebrow 13 px, texto 16/26) */
  .kb-carreras .h2{font-size:28px;line-height:33px;letter-spacing:-.28px;margin-top:14px}
  .kb-carreras .lede{font-size:16px;line-height:26px}
  .kb-carreras .hero{padding:152px 0 64px}
  .kb-carreras .hero-in{gap:32px}
  .kb-carreras .hero .eyebrow{font-size:12px;letter-spacing:1.68px}
  .kb-carreras .hero h1{font-size:34px;line-height:1.1;margin:10px 0 12px}
  .kb-carreras .hero .lede{font-size:18px;line-height:29px}
  .kb-carreras .ctas{margin-top:28px;flex-direction:column}
  .kb-carreras .ctas :is(.kb-btn,.kb-btn-sec){width:100%}
  .kb-carreras .ctas .kb-link{align-self:center;margin-left:0}
  /* Hero en móvil: botón y enlace en una fila, como el Inicio del sitio */
  .kb-carreras .hero .ctas{flex-direction:row;align-items:center;flex-wrap:nowrap}
  .kb-carreras .hero .ctas .kb-btn{width:auto;flex-shrink:0}
  .kb-carreras .hero .ctas .kb-link{margin-left:8px}
  .kb-carreras .hero-ph img{border-radius:22px;aspect-ratio:350/300}
  .kb-carreras .sec-h{align-items:flex-start;flex-direction:column;gap:12px}
  .kb-carreras .list{margin-top:28px}
  /* En móvil el gris de la vacante abierta llega de borde a borde de la pantalla */
  .kb-carreras .job{margin:0 -20px;padding:0 20px;border-radius:0}
  .kb-carreras .job::before{left:20px;right:20px}
  .kb-carreras .job-row{gap:16px;padding:22px 0}
  .kb-carreras .job-title{font-size:21px;line-height:25px}
  .kb-carreras .job-ref{font-size:13px}
  .kb-carreras .job-in{grid-template-columns:minmax(0,1fr);gap:28px;padding:24px 0 28px}
  .kb-carreras .job-in li{font-size:16px;line-height:26px}
  .kb-carreras .job-cta .kb-btn{width:100%}
  .kb-carreras .empty{margin-top:28px;padding:28px 20px;border-radius:22px}
  .kb-carreras .empty .ctas{flex-wrap:wrap}
  .kb-carreras .empty h3{font-size:26px;line-height:30px}
  .kb-carreras .why-in{gap:28px}
  .kb-carreras .why-ph{border-radius:22px}
  .kb-carreras .why-ph img{aspect-ratio:4/3}
  .kb-carreras .reasons{margin-top:24px}
  .kb-carreras .reasons li{padding:18px 0}
  .kb-carreras .reasons h3{font-size:20px;line-height:24px}
  .kb-carreras .reasons p{font-size:16px;line-height:26px}
  .kb-carreras .values small{width:100%;margin:0 0 4px}
  .kb-carreras .apply-in{gap:32px}
  .kb-carreras .notes{margin-top:0}
  .kb-carreras .card{padding:28px 20px;border-radius:22px;margin:0 -4px}
  .kb-carreras .form{grid-template-columns:minmax(0,1fr);gap:18px}
  .kb-carreras .in{font-size:16px}
  .kb-carreras .drop{padding:16px;gap:12px}
  .kb-carreras .send .kb-btn{width:100%}
}

/* Antispam: campo trampa fuera de pantalla */
.kb-carreras .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Página individual de vacante ---------- */
.kb-carreras--single .vacancy-hero .wrap{position:relative}
.kb-carreras--single .vacancy-hero .kb-link--back{position:absolute;top:-52px;left:0}
.kb-carreras--single .vacancy-hero h1{max-width:900px}
.kb-carreras--single .single-data{max-width:900px;margin-top:18px}
.kb-carreras--single .vacancy-detail{padding-top:64px}
.kb-carreras--single .vacancy-detail .job-in{padding-top:0;border-top:0}

@media (max-width:767px){
  .kb-carreras--single .vacancy-hero .kb-link--back{top:-40px}
  .kb-carreras--single .single-data{font-size:16px;line-height:26px}
  .kb-carreras--single .vacancy-detail{padding-top:40px}
}
