/* Familia RR.HH. (PR 21): rrhh, operadoras, contratistas, pymes, metodo y reclutamiento-y-difusion,
   ES y EN. Sólo la enlazan esas páginas (su «head.css» en tools/stamp/site.json) y va después de
   styles.css, la base de las interiores. Salió de partir styles.css: cada regla conserva el orden
   que tenía allá entre las que se mudaron; las pocas que tenían que seguir antes de una regla común
   se quedaron en styles.css (README, «Hojas de estilo»). */

/* Formularios, garantías, tarjetas de «Según su organización» y la franja de postulantes */
.form-note{margin:0;font-size:12px;color:var(--muted)}
.reassurance{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em}
.reassurance span:before{content:"■";color:var(--red);margin-right:8px}
.link-grid a{min-height:280px;display:flex;flex-direction:column}
.link-grid a:last-child{border:0}
.link-grid b{margin-top:auto;color:var(--red)}
.candidate-inline{background:var(--dark);color:white;padding:60px 0}
.candidate-inline .shell{display:flex;align-items:center;justify-content:space-between;gap:40px}
.candidate-inline h2{font:400 2.7rem var(--serif);margin:0}
.candidate-inline p{color:#bbb;margin:5px 0 0}
@media(max-width:800px){.candidate-inline .shell{align-items:flex-start;flex-direction:column}}

/* Criterio: elegir candidatos (rrhh.html; el JS está en app.js) */
.pick{border-top:1px solid var(--line)}
.pick-lead{max-width:640px;margin:22px 0 0;color:var(--muted);font-size:1.05rem}
.pick-body{display:grid;grid-template-columns:1.55fr 1fr;gap:48px;align-items:stretch}
.pick-stage{position:relative;aspect-ratio:1280/620;overflow:hidden;background:var(--dark)}
.pick-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pick-veil{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--paper) 74%,transparent);backdrop-filter:grayscale(1) blur(1px);opacity:0;transition:opacity .5s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.pick-stage.has-selection .pick-veil{opacity:1}
.pick-stage.has-selection .pick-veil.is-selected{opacity:0}
.pick-line{position:absolute;bottom:0;height:4px;background:var(--red);opacity:0;transition:left .45s cubic-bezier(.2,.8,.2,1),width .45s cubic-bezier(.2,.8,.2,1),opacity .3s}
.pick-stage.has-selection .pick-line{opacity:1}
.pick-who{position:absolute;top:0;bottom:0;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pick-who:focus-visible{outline:2px solid var(--red);outline-offset:-4px}
.pick-num{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:5px 9px;background:rgba(22,21,19,.72);color:white;font:500 10px var(--mono);letter-spacing:.12em;white-space:nowrap;transition:background .3s,transform .3s}
.pick-num::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red)}
.pick-num.is-ping::before{animation:pick-ping 1.1s ease-out}
.pick-who[aria-pressed=true] .pick-num{background:var(--red);transform:translateX(-50%) translateY(-4px)}
.pick-who[aria-pressed=true] .pick-num::before{background:white}
.pick-line{transform-origin:bottom}
.pick-stage.is-beat .pick-line{animation:pick-beat-line .55s ease-in-out .4s 2}
.pick-stage.is-beat .pick-who[aria-pressed=true] .pick-num{animation:pick-beat-num .55s ease-out .4s 2}
@keyframes pick-beat-line{0%,100%{transform:scaleY(1)}35%{transform:scaleY(2.5)}}
@keyframes pick-beat-num{0%{box-shadow:0 0 0 0 rgba(165,16,27,.75)}100%{box-shadow:0 0 0 14px rgba(165,16,27,0)}}
@keyframes pick-ping{0%{box-shadow:0 0 0 0 rgba(165,16,27,.7)}70%{box-shadow:0 0 0 12px rgba(165,16,27,0)}100%{box-shadow:0 0 0 0 rgba(165,16,27,0)}}
.pick-panel{display:flex;flex-direction:column;border-top:2px solid var(--ink);padding-top:22px}
.pick-card{transition:opacity .25s,transform .25s}
.pick-card.is-swapping{opacity:0;transform:translateY(6px)}
.pick-card h3{font:400 clamp(1.5rem,2.4vw,2rem)/1.1 var(--serif);margin:.3em 0 .25em}
.pick-card p:last-child{min-height:3.1em;margin:0;color:var(--muted)}
.pick-tag{margin-left:8px;padding:2px 7px;background:var(--red);color:white}
.pick-bars{margin-top:12px}
.pick-bars div{margin-top:16px}
.pick-bars span{display:flex;justify-content:space-between;font:500 .64rem var(--mono);letter-spacing:.1em;text-transform:uppercase}
.pick-bars b{font-weight:500}
.pick-bars i{display:block;position:relative;height:5px;margin-top:7px;background:var(--soft);overflow:hidden}
.pick-bars i::after{content:"";position:absolute;inset:0;width:var(--value,0%);background:var(--ink);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.pick-panel.is-best .pick-bars i::after{background:var(--red)}
.pick-match{margin-top:auto;padding-top:24px;display:flex;align-items:end;justify-content:space-between;gap:16px;border-top:1px solid var(--line)}
.pick-match small{max-width:14ch;font:500 .64rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pick-match strong{font:400 3.2rem/1 var(--serif)}
.pick-panel.is-best .pick-match strong{color:var(--red)}
.pick-panel.is-empty .pick-bars,.pick-panel.is-empty .pick-match{opacity:.35}
@media(max-width:900px){.pick-body{grid-template-columns:1fr;gap:24px}.pick-num{bottom:10px;padding:6px;font-size:0}.pick-num::after{content:attr(data-n);font:500 10px var(--mono)}.pick-card p:last-child{min-height:0}.pick-match strong{font-size:2.6rem}}
/* Recorrido automático: en celular el texto de la tarjeta ocupa 1 o 2 líneas según el estado (el
   inicial del HTML o el de cada perfil, profiles en app.js). Donde alguno llega a 2 se reservan 2,
   para que al cambiar de candidato no se mueva lo de abajo (CLS). Medido de a 1px en todos los
   estados: hay textos de 2 líneas hasta 510px en ES y hasta 518px en EN. Si cambian esos textos,
   volver a medir. */
@media(max-width:519px){.pick-card p:last-child{min-height:3.1em}}
@media(prefers-reduced-motion:reduce){.pick *{transition:none!important;animation:none!important}}

/* Red orbital (cierre de rrhh.html) — temas. Poner .orb-dark o .orb-light en un contenedor del <svg>. */
.orb{width:100%;height:auto;display:block;overflow:visible;touch-action:manipulation}
.orb-dark{--o-ink:#f4eee5;--o-node:#262a27;--o-stroke:#4a4f4b;--o-edge:#f4eee517;--o-ring:#f4eee52e;--o-hot:#e85960;--o-core:#161513;--o-tip:#161513}
.orb-light{--o-ink:#161513;--o-node:#f8f5ee;--o-stroke:#bdb5a8;--o-edge:#16151322;--o-ring:#16151333;--o-hot:#a5101b;--o-core:#f8f5ee;--o-tip:#161513}
.orb-ico{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.orb-ring{fill:none;stroke:var(--o-ring);stroke-dasharray:2 6}
.orb-edge{stroke:var(--o-edge);stroke-width:1}
.orb-hot{stroke:var(--o-hot);stroke-width:1.8}
.orb-dot{fill:var(--o-hot)}
.orb-n{color:var(--o-ink);cursor:pointer}
.orb-bg{fill:var(--o-node);stroke:var(--o-stroke);transition:stroke .3s}
.orb-n.on{color:var(--o-hot)}
.orb-n.on .orb-bg{stroke:var(--o-hot);stroke-width:1.6}
.orb-core-bg{fill:var(--o-core);stroke:var(--o-hot);stroke-width:1.5}
.orb-pulse{fill:none;stroke:var(--o-hot)}
.orb-tip{font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;fill:#f4eee5;pointer-events:none}
.orb-tip-bg{fill:var(--o-tip);stroke:var(--o-hot);stroke-width:1;pointer-events:none}
.net-cta{padding:110px 0;overflow:hidden;background:var(--dark);color:#f4eee5}
.net-cta .eyebrow{color:#e85960}
.net-cta-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.net-cta h2{font:400 clamp(3rem,5vw,5rem)/1 var(--serif);letter-spacing:-.03em;margin:0}
.net-cta h2 em{font-weight:400}
.net-lead{max-width:470px;margin:22px 0 0;color:#bdb7ad}
.net-highlight{max-width:470px;margin:30px 0 0;padding:20px 0 20px 22px;border-left:3px solid #e85960;background:linear-gradient(90deg,#e859601f,transparent 85%);display:grid;grid-template-columns:auto 1fr;gap:6px 20px;align-items:center}
.net-highlight strong{font:400 4.6rem/.9 var(--serif);color:#e85960;letter-spacing:-.04em;white-space:nowrap}
.net-highlight p{margin:0;font:400 1.3rem/1.2 var(--serif);color:#f4eee5}
.net-highlight p em{color:#e85960}
.net-highlight>span{grid-column:1/-1;font-size:15.2px;color:#bdb7ad}
.net-legend{list-style:none;padding:0;margin:26px 0 34px;max-width:470px;border-top:1px solid #3a3f3b}
.net-legend li{display:grid;grid-template-columns:34px 1fr;padding:11px 0;border-bottom:1px solid #3a3f3b}
.net-legend b{font:500 11px var(--mono);color:#8d887f;padding-top:4px;transition:color .3s}
.net-legend span{font:400 1.05rem var(--serif)}
.net-legend li:hover b,.net-legend li.on b{color:#e85960}
@media(max-width:900px){.net-cta{padding:70px 0}.net-cta-grid{grid-template-columns:1fr;gap:30px}.net-highlight strong{font-size:3.6rem}}

/* Registro de búsquedas (rrhh.html y los segmentos; registro-busquedas.js) */
.registro-kpis{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}
.registro-kpis>div{padding:26px 28px;border-right:1px solid var(--line)}
.registro-kpis>div:last-child{border-right:0}
.registro-kpis strong{display:block;font:400 3rem/1 var(--serif)}
.registro-kpis p{margin:10px 0 0;color:var(--muted);font:11px var(--mono);text-transform:uppercase;letter-spacing:.12em}
.registro-buscador{margin-top:44px;max-width:760px}
.registro-buscador label{display:block;margin-bottom:10px}
.registro-buscador input{border-bottom-width:2px;font-size:1.25rem;font-family:var(--serif);padding:14px 12px;margin-inline:-12px;width:calc(100% + 24px);transition:background-color .2s,border-color .2s}
.registro-buscador input::placeholder{color:var(--muted);font-size:1rem;transition:color .2s}
/* La X de `input[type=search]` la dibuja el navegador y viene azul de fábrica:
   es el único punto de color ajeno a papel/tinta/rojo en toda la página. Se
   reemplaza por la misma X, enmascarada, para poder pintarla con las variables
   -si se dibujara dentro del SVG habría que hardcodear el color tres veces-.
   Sigue siendo el control nativo, así que limpia el campo sin una línea de JS.
   Firefox no dibuja esta pseudo-clase y simplemente ignora el bloque. */
.registro-buscador input[type="search"]::-webkit-search-cancel-button{
  -webkit-appearance:none;appearance:none;
  width:13px;height:13px;cursor:pointer;background-color:var(--muted);
  -webkit-mask:var(--x-tachar) center/contain no-repeat;
  mask:var(--x-tachar) center/contain no-repeat;
  transition:background-color .2s}
.registro-buscador input[type="search"]:hover::-webkit-search-cancel-button{background-color:var(--ink)}
.registro-buscador input[type="search"]::-webkit-search-cancel-button:hover{background-color:var(--red)}
.registro-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.registro-chip{padding:8px 13px;background:transparent;border:1px solid var(--line);color:var(--muted);font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:.18s}
.registro-chip:hover{border-color:var(--ink);color:var(--ink)}
.registro-cuenta{margin:38px 0 0;font:400 1.5rem var(--serif);min-height:1.4em}
.registro-lista{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--ink)}
.registro-lista a{display:grid;grid-template-columns:1fr 290px 150px;gap:24px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);transition:.18s}
@media(hover:hover) and (pointer:fine){.registro-lista a:hover{padding-left:10px;background:color-mix(in srgb,var(--paper) 55%,transparent)}}
.registro-lista strong{font:400 1.12rem var(--serif);font-weight:400}
.registro-lista span{color:var(--muted);font:.63rem var(--mono);text-transform:uppercase;letter-spacing:.08em}
.registro-lista b{color:var(--red);font:500 .63rem var(--mono);text-transform:uppercase;letter-spacing:.09em;text-align:right}
.registro-mas{margin-top:26px;cursor:pointer}
.registro-vacio{max-width:620px;margin:14px 0 0;color:var(--muted)}
.registro-vacio .text-link{margin-left:6px}
.registro-nota{margin:34px 0 0;max-width:640px;color:var(--muted);font-size:.78rem}
@media(max-width:800px){
.registro-kpis{grid-template-columns:1fr}
.registro-kpis>div{border-right:0;border-bottom:1px solid var(--line)}
.registro-kpis>div:last-child{border-bottom:0}
.registro-kpis strong{font-size:2.4rem}
.registro-lista a{grid-template-columns:1fr;gap:6px}
.registro-lista b{text-align:left}
.registro-cuenta{font-size:1.25rem}
}
@media(prefers-reduced-motion:reduce){.registro-chip,.registro-lista a{transition:none}}
.registro-relacionadas-toggle{margin-top:24px;padding:0 0 6px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--muted);font:500 11px var(--mono);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:.18s}
.registro-relacionadas-toggle:hover{color:var(--ink);border-color:var(--ink)}
.registro-relacionadas{margin-top:34px}
.registro-relacionadas>p{margin:0;color:var(--muted);font:500 11px var(--mono);letter-spacing:.09em;text-transform:uppercase}
.registro-relacionadas .registro-lista{margin-top:12px;opacity:.72}
@media(prefers-reduced-motion:reduce){.registro-relacionadas-toggle{transition:none}}

/* ── Área de RR.HH. · rediseño v2 (rrhh.html; el hero, la cinta y el cierre también en los segmentos) ── */
/* Hero */
.v2-hero{padding:70px 0 0}
.v2-hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:80px;align-items:start}
.v2-hero h1{font:400 clamp(3rem,5.2vw,5.2rem)/.96 var(--serif);letter-spacing:-.045em;margin:0}
.v2-hero h1 em{font-weight:400;font-style:normal}
.v2-claim{margin:22px 0 0;font:500 11px var(--mono);letter-spacing:.17em;text-transform:uppercase;color:var(--red);border-top:1px solid var(--red);padding-top:14px;display:inline-block}
.v2-lead{font-size:1.1rem;color:var(--muted);max-width:560px;margin:30px 0 26px}
.v2-lead b{color:var(--ink);font-weight:500}
.v2-micro{margin:12px 0 0;font-size:.78rem;color:var(--muted);max-width:420px}
.v2-hero .reassurance{margin-top:30px}

/* Buscador del hero */
.v2-search{border:1px solid var(--ink);background:#faf7f1;padding:28px;box-shadow:0 26px 60px #302b2014}
.v2-search .eyebrow{margin-bottom:12px}
.v2-search h2{font:400 1.75rem/1.12 var(--serif);margin:0 0 10px}
.v2-search h2 em{font-weight:400;font-style:normal;color:var(--red)}
.v2-search>p{margin:0 0 20px;font-size:15.2px;color:var(--muted)}
.v2-search .registro-buscador label{display:block;margin-bottom:6px}
.v2-search #registro-salida{max-height:330px;overflow:auto;margin-top:6px}
.v2-search .registro-nota{margin:18px 0 0;font-size:12px}
/* Puestos del registro en HTML (PR 14): el bloque gen:registro de rrhh.html (debajo del buscador, a
   todo el ancho del hero), que escribe tools/gen-registro-busquedas.py desde el JSON. Plegado en todos
   los anchos: sin data-plegado-celular. */
.registro-puestos{margin-top:48px}
.v2-fold.registro-puestos>p:not([class]){margin:16px 0;max-width:80ch;font-size:14px;color:var(--muted)}
.registro-puestos-areas{columns:4 220px;column-gap:32px;margin-top:8px}
.registro-puestos-areas>div{break-inside:avoid;padding-bottom:20px}
.registro-puestos h3{margin:0 0 6px;font:400 1.05rem/1.25 var(--serif)}
.registro-puestos h3 small{display:block;margin-top:2px;color:var(--muted);font:.63rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.registro-puestos ul{list-style:none;margin:0;padding:0;font-size:13.5px;line-height:1.45}
.registro-puestos li{padding:2px 0}
.registro-puestos li span{color:var(--muted);font:.72rem var(--mono)}
@media(max-width:899.98px){.registro-puestos{margin-top:28px}}

/* Cinta de prueba */
.v2-strip{margin-top:70px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);background:var(--soft)}
.v2-strip .shell{display:grid;grid-template-columns:repeat(4,1fr) auto;align-items:center}
.v2-strip .registro-kpis{display:contents}
.v2-strip>div>div,.v2-strip-item{padding:26px 24px 26px 0}
.v2-strip-item strong .kpi-pre{font-size:.4em;font-style:italic;letter-spacing:0;margin-right:.3em;vertical-align:.45em}
.v2-strip strong{display:block;font:400 2.6rem/1 var(--serif)}
.v2-strip p{margin:6px 0 0;font:11px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.v2-strip .registro-kpis>div{border-right:1px solid var(--line)}
.v2-strip .v2-strip-cta{padding-left:24px;border-left:1px solid var(--line)}
.v2-strip-note{border-top:1px solid var(--line);background:#e6e0d5}
.v2-strip-note .shell{display:flex;gap:26px;flex-wrap:wrap;padding:14px 0;font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.v2-strip-note span:before{content:"■";color:var(--red);margin-right:8px}

/* Qué hacemos */
.v2-prose{display:grid;grid-template-columns:1fr 3fr;gap:60px}
.v2-prose p{font:400 clamp(1.3rem,2.1vw,1.72rem)/1.42 var(--serif);margin:0 0 26px;max-width:24em}
.v2-prose p:last-of-type{margin-bottom:34px}
.v2-goal{border-left:3px solid var(--red);padding:4px 0 4px 22px;margin:0 0 34px;max-width:30em}
.v2-goal b{display:block;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.v2-goal p{font:400 1.15rem/1.5 var(--serif);margin:0;color:var(--ink)}

/* Tarjetas de realidad */
.link-grid .v2-q{font:400 1.02rem/1.4 var(--serif);color:var(--ink);margin:0 0 14px}

/* Servicios compactos */
.v2-services{border-top:1px solid var(--ink)}
.v2-services article{display:grid;grid-template-columns:56px 1.1fr 2fr 200px;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:baseline}
.v2-services span{font:.64rem var(--mono);color:var(--red)}
.v2-services h3{font:400 1.32rem var(--serif);margin:0}
.v2-services p{margin:0;color:var(--muted);font-size:15.2px}
.v2-services small{font:.64rem var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--ink);text-align:right}
.v2-services small i{display:block;font-style:normal;color:var(--muted);text-transform:none;letter-spacing:0;margin-top:4px}
.v2-foot-note{margin:26px 0 0;color:var(--muted);font-size:15.2px;max-width:70ch}
.v2-foot-note strong{color:var(--ink)}

/* Referencias confidenciales */
.v2-refs{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.v2-refs h2{font:400 clamp(2.4rem,4vw,3.7rem)/1.02 var(--serif);margin:0}
.v2-refs h2 em{font-weight:400;font-style:normal;color:var(--red)}
.v2-refs p{color:var(--muted)}
.v2-refs .v2-refs-proof{border-top:1px solid var(--ink);margin-top:30px;padding-top:22px}
.v2-refs .v2-refs-proof p{font:400 1.25rem/1.45 var(--serif);color:var(--ink);margin:0 0 20px}
.v2-refs ul{list-style:none;margin:0 0 26px;padding:0}
.v2-refs li{border-bottom:1px solid var(--line);padding:14px 0;display:grid;grid-template-columns:22px 1fr;gap:14px;font-size:15.2px;color:var(--muted)}
.v2-refs li b{color:var(--red);font:500 .8rem var(--mono)}

/* Informe a medida */
.v2-report{background:var(--dark);color:#f4eee5}
.v2-report .eyebrow{color:#e4555e}
.v2-report-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:start}
.v2-report h2{font:400 clamp(2.3rem,3.9vw,3.5rem)/1.05 var(--serif);margin:0 0 24px}
.v2-report h2 em{font-weight:300;font-style:normal}
.v2-report p{color:#b6b0a6}
.v2-report .v2-report-box{border:1px solid #3a3e3b;padding:30px;background:#232725}
.v2-report label{color:#8d8880}
.v2-report input{color:#f4eee5;border-bottom-color:#4a4f4b}
.v2-report input::placeholder{color:#6b6f6b}
.v2-report ul{margin:24px 0 0;padding:0;list-style:none}
.v2-report li{border-top:1px solid #3a3e3b;padding:13px 0;font-size:15.2px;color:#b6b0a6}
.v2-report li b{color:#f4eee5;font-weight:500}

/* Tiempos */
.v2-times{width:100%;border-collapse:collapse;margin:14px 0 4px;font-size:15.2px}
.v2-times th,.v2-times td{text-align:left;padding:9px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.v2-times th{font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.1em}
.v2-times td:last-child{text-align:right;color:var(--ink);font:500 .8rem var(--mono)}

/* Cierre */
.v2-close{background:#dcd4c8;padding:100px 0}
.v2-close-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.v2-close h2{font:400 clamp(2.6rem,4.6vw,4.4rem)/1 var(--serif);margin:0 0 22px}
.v2-close h2 em{font-weight:400;font-style:normal;color:var(--red)}
.v2-person{margin-top:36px;border-top:1px solid var(--ink);padding-top:24px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start}
.v2-person .v2-avatar{width:64px;height:64px;border-radius:50%;background:#c7bdad;display:grid;place-items:center;font:400 1.5rem var(--serif);color:#5d564b}
.v2-person h3{margin:0;font:400 1.35rem var(--serif)}
.v2-person p{margin:4px 0 12px;font-size:15.2px;color:var(--muted)}
.v2-person a{font:500 11px var(--mono);letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:2px;margin-right:18px;display:inline-block;margin-top:6px}
.v2-person a:hover{color:var(--red);border-color:var(--red)}
.v2-form-box{background:#efe9df;border:1px solid var(--ink);padding:32px}
.v2-form-box h3{margin:0 0 4px;font:400 1.5rem var(--serif)}
.v2-form-box>p{margin:0 0 22px;font-size:15.2px;color:var(--muted)}
.v2-form-box input:-webkit-autofill{box-shadow:0 0 0 60px #efe9df inset}
.v2-report input:-webkit-autofill,.v2-report input:-webkit-autofill:hover,.v2-report input:-webkit-autofill:focus{-webkit-text-fill-color:#f4eee5;box-shadow:0 0 0 60px #232725 inset;caret-color:#f4eee5}
@media(max-width:1080px){.v2-hero-grid{grid-template-columns:1fr;gap:48px}.v2-refs,.v2-report-grid,.v2-close-grid{gap:44px}.v2-strip .shell{grid-template-columns:repeat(2,1fr)}.v2-strip .registro-kpis>div:nth-child(even),.v2-strip .v2-strip-item{padding-left:24px}.v2-strip .v2-strip-cta{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:18px 0}}
@media(max-width:800px){.v2-prose,.v2-refs,.v2-report-grid,.v2-close-grid{grid-template-columns:1fr}.v2-services article{grid-template-columns:44px 1fr}.v2-services p,.v2-services small{grid-column:2}.v2-services small{text-align:left}.v2-strip .shell{grid-template-columns:1fr 1fr}}

/* ── Páginas de segmento y Búsqueda Metódica ──────────────────────────────── */
.v2-seg-hero{padding:60px 0 0}
.v2-seg-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:80px;align-items:start}
.v2-seg-hero h1{font:400 clamp(3rem,5.2vw,5.2rem)/.96 var(--serif);letter-spacing:-.045em;margin:0}
.v2-seg-hero h1 em{font-weight:400;font-style:normal}
.v2-seg-hero .v2-lead{margin-top:26px}

/* Buscador acotado al segmento */
.v2-seg-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.v2-seg-chips button{padding:7px 11px;border:1px solid var(--line);background:transparent;color:var(--ink);font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:.18s}
.v2-seg-chips button:hover{border-color:var(--red);color:var(--red)}

/* Bloque de tres razones */
.v2-three{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.v2-three article{padding:30px 30px 34px 0;border-right:1px solid var(--line)}
.v2-three article:last-child{border-right:0;padding-right:0}
.v2-three span{font:.64rem var(--mono);color:var(--red)}
.v2-three h3{font:400 1.45rem/1.2 var(--serif);margin:14px 0 10px}
.v2-three p{margin:0;color:var(--muted);font-size:15.2px}

/* Modalidades / paquetes */
.v2-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.v2-modes.cols-4{grid-template-columns:repeat(4,1fr)}
.v2-modes article{border:1px solid var(--line);background:#faf7f1;padding:30px;display:flex;flex-direction:column}
.v2-modes .v2-mode-tag{font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.v2-modes h3{font:400 1.6rem/1.15 var(--serif);margin:14px 0 10px}
.v2-modes>article>p{margin:0 0 18px;color:var(--muted);font-size:15.2px}
.v2-modes ul{list-style:none;margin:0 0 20px;padding:0}
.v2-modes li{padding:8px 0;border-top:1px solid var(--line);font-size:15.2px;color:var(--muted)}
.v2-modes .v2-mode-meta{margin-top:auto;border-top:1px solid var(--ink);padding-top:16px;font:.63rem var(--mono);text-transform:uppercase;letter-spacing:.07em}
.v2-modes .v2-mode-meta i{display:block;font-style:normal;color:var(--muted);text-transform:none;letter-spacing:0;margin-top:5px}

/* Listado largo de puestos, replegado */
.v2-roles{margin-top:56px;border-top:1px solid var(--ink)}
.v2-roles summary{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:22px 40px 22px 0}
.v2-roles summary:after{content:"+";color:var(--red);font-size:1.2rem}
.v2-roles[open] summary:after{content:"−"}
.v2-roles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:0 0 30px}
.v2-roles-grid h4{font:400 1.1rem var(--serif);margin:0 0 12px}
.v2-roles-grid ul{list-style:none;margin:0;padding:0;color:var(--muted);font-size:15.2px}
.v2-roles-grid li{padding:5px 0}
.v2-roles-note{margin:0 0 30px;color:var(--muted);font-size:15.2px;max-width:80ch}

/* Método: pasos */
.v2-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.v2-steps li{display:grid;grid-template-columns:56px 1.15fr 2fr 150px;gap:26px;padding:28px 0;border-bottom:1px solid var(--line);align-items:baseline}
.v2-steps .v2-step-n{font:.64rem var(--mono);color:var(--red)}
.v2-steps h3{font:400 1.32rem/1.25 var(--serif);margin:0}
.v2-steps p{margin:0;color:var(--muted);font-size:15.2px}
.v2-steps .v2-step-day{font:.63rem var(--mono);text-transform:uppercase;letter-spacing:.07em;text-align:right;color:var(--ink)}
.v2-pledges{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);margin-top:20px}
.v2-pledges article{padding:26px 26px 30px 0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.v2-pledges article:nth-child(3n){border-right:0;padding-right:0}
.v2-pledges span{font:.63rem var(--mono);color:var(--red)}
.v2-pledges h3{font:400 1.2rem var(--serif);margin:12px 0 8px}
.v2-pledges p{margin:0;color:var(--muted);font-size:15.2px}

/* Hitos de plazo, compartidos */
.v2-milestones{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin:0 0 10px}
.v2-milestones div{padding:22px 20px 22px 0;border-right:1px solid var(--line)}
.v2-milestones div:last-child{border-right:0}
.v2-milestones strong{display:block;font:400 2rem/1 var(--serif)}
.v2-milestones p{margin:8px 0 0;font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
@media(max-width:1080px){.v2-seg-grid{grid-template-columns:1fr;gap:48px}.v2-modes,.v2-modes.cols-4{grid-template-columns:1fr 1fr}.v2-roles-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){
  .v2-three,.v2-pledges,.v2-modes,.v2-modes.cols-4,.v2-roles-grid{grid-template-columns:1fr}
  .v2-three article,.v2-pledges article{border-right:0;padding-right:0;border-bottom:1px solid var(--line)}
  .v2-steps li{grid-template-columns:44px 1fr}
  .v2-steps p,.v2-steps .v2-step-day{grid-column:2}
  .v2-steps .v2-step-day{text-align:left}
  .v2-milestones{grid-template-columns:1fr 1fr}
}
/* En las páginas de segmento los chips los pone la página, no el snapshot */
.v2-seg-chips + .registro-buscador .registro-chips{display:none}

/* Dato duro al pie de cada tarjeta de realidad */
.link-grid .v2-card-proof{margin:auto 0 16px;padding-top:16px;border-top:1px solid var(--line);font:500 10px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.link-grid .v2-card-proof:before{content:"\25A0";color:var(--red);margin-right:8px}
.link-grid .v2-card-proof + b{margin-top:0}
.v2-inline-link{display:inline-block;white-space:nowrap;font:500 11px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--red);border-bottom:1px solid var(--red);padding-bottom:1px}
@media(max-width:1440px){@media(min-width:900px){.site-header:has(.brand-area):has(#main-nav) .v2-portal-link{display:none}}}
@media(min-width:900px) and (max-width:1150px){.site-header:has(.brand-area):has(#main-nav) .header-actions{display:none}.site-header:has(.brand-area):has(#main-nav){grid-template-columns:auto 1fr auto}}
@media(min-width:900px) and (max-width:1000px){.site-header:has(.brand-area):has(#main-nav) nav{gap:12px;font-size:13px;white-space:nowrap}.site-header:has(.brand-area):has(#main-nav) .brand-area .brand img{max-width:140px}}

/* ── PR 12 · Familia RR.HH. en el celular ──────────────────────────────────────────────────
   rrhh, operadoras, contratistas, pymes y metodo llevan <body class="inner-body familia-rrhh">:
   lo de esta sección cuelga de esa clase (o de piezas que sólo usan esas páginas y en/rrhh),
   así no toca contable, legal ni reclutamiento-y-difusion. Por debajo de 900px el ritmo vertical pasa a
   los tokens --sec de base.css y se compactan títulos, tarjetas y formularios; desde 900px el
   escritorio queda como estaba (salvo la ruta y el orden de secciones de rrhh). */

/* Ruta: Inicio › Recursos Humanos › página. Un <nav> en lugar del <p>: mismo margen que tenía el
   <p> (1em arriba). Los enlaces son navegación: zona de 44×44 o más con padding (15px arriba y
   abajo, 10px a los lados), compensada con margen negativo (no mueve nada): «Home» (EN), el más
   corto, tiene 29px de texto y llega a 49. */
.familia-rrhh .breadcrumbs{margin:11px 0 42px}
nav.breadcrumbs>a{display:inline-block;padding:15px 10px;margin:-15px -10px}

/* Registro: sin chips cuando hay texto (registro-busquedas.js pone [hidden]; el display:flex de
   .registro-chips le ganaba al del navegador) y, al enfocar el campo en el celular, lo sube hasta
   abajo del header. */
.registro-chips[hidden]{display:none}
.registro-buscador{scroll-margin-top:calc(var(--header-h) + 12px)}

/* Bloques plegables: details.v2-fold[data-plegado-celular] (app.js los abre desde 900px). El
   <summary> es la fila para abrirlos; con el bloque abierto en escritorio no se ve, y lo de
   adentro queda como era antes del pliegue (los estilos globales de details/summary son los del
   FAQ). La primera pregunta del FAQ de rrhh usa el mismo atributo sin .v2-fold: abierta desde
   900px, como antes, y cerrada en el celular como las demás. */
.v2-fold{border-bottom:0}
.v2-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--tap);padding:10px 0;border-block:1px solid var(--line);font:500 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.v2-fold>summary:after{position:static;flex:none;font:400 1.2rem/1 var(--sans)}
.v2-fold[open]>summary{border-bottom-color:transparent}
.v2-fold>p{padding:0}
.v2-fold>p:not([class]){margin:1em 0;max-width:none;font-size:inherit}
@media(min-width:900px){.v2-fold[data-plegado-celular][open]>summary{display:none}}
.v2-report .v2-fold>summary{border-color:#3a3e3b;color:#f4eee5}
.v2-report .v2-fold[open]>summary{border-bottom-color:transparent}
.v2-report .form-status{color:#f4eee5}

/* Ritmo vertical: por debajo de 900px, los tokens de base.css (--sec: 56px a 390, 100px a 910). */
@media(max-width:899.98px){
  .familia-rrhh .inner-section,.familia-rrhh .v2-close,.familia-rrhh .net-cta{padding-block:var(--sec)}
  .familia-rrhh .candidate-inline{padding-block:var(--sec)}
  .familia-rrhh :is(.v2-hero,.v2-seg-hero){padding-top:28px}
  .familia-rrhh .breadcrumbs{margin-bottom:24px;letter-spacing:.06em}
  .familia-rrhh .v2-strip{margin-top:40px}
  /* el CTA de la cinta repite el del hero, y en el celular está la barra de contacto */
  .familia-rrhh .v2-strip-cta{display:none}
}

/* Componentes, hasta 800px (donde las reglas de más arriba ya los pasan a una columna). */
@media(max-width:800px){
  .familia-rrhh .inner-heading{gap:0;margin-bottom:28px}
  .familia-rrhh .inner-heading .eyebrow{margin-bottom:14px}
  .familia-rrhh :is(.inner-heading h2,.net-cta h2,.v2-refs h2,.v2-report h2,.v2-close h2,.faq h2){font-size:clamp(2.2rem,9.4vw,2.8rem)}
  /* hero y buscador */
  .familia-rrhh :is(.v2-hero-grid,.v2-seg-grid){gap:32px}
  .familia-rrhh .v2-claim{margin-top:16px}
  .familia-rrhh .v2-lead{margin:20px 0 22px}
  .familia-rrhh .reassurance{margin-top:22px;gap:10px 22px}
  .familia-rrhh .v2-search{padding:22px 18px}
  .familia-rrhh .v2-search>p{margin-bottom:14px}
  .familia-rrhh .v2-search .registro-buscador{margin-top:16px}
  .familia-rrhh .registro-cuenta{margin-top:16px}
  .familia-rrhh .registro-cuenta:empty{margin-top:0;min-height:0}
  .familia-rrhh .v2-search .registro-nota{margin-top:14px}
  .familia-rrhh .v2-strip .registro-kpis>div,.familia-rrhh .v2-strip-item{padding-block:18px}
  .familia-rrhh .v2-strip strong{font-size:2.2rem}
  /* servicios: el número en una columna angosta, menos aire entre filas */
  .familia-rrhh .v2-services article{grid-template-columns:28px 1fr;gap:8px 12px;padding:20px 0}
  .familia-rrhh .v2-foot-note{margin-top:20px}
  /* qué hacemos */
  .familia-rrhh .v2-prose{gap:18px}
  .familia-rrhh .v2-prose>div>p{font-size:1.2rem;margin-bottom:18px}
  .familia-rrhh .v2-goal{margin-bottom:24px}
  /* según su organización */
  .familia-rrhh .link-grid a{min-height:0;padding:24px 20px}
  .familia-rrhh .link-grid h3{font-size:1.5rem;margin:10px 0 12px}
  .familia-rrhh .link-grid .v2-card-proof{margin-bottom:12px}
  /* red */
  .familia-rrhh .net-cta-grid{gap:24px}
  .familia-rrhh .net-highlight{margin-top:22px}
  .familia-rrhh .net-legend{margin:20px 0 24px}
  /* criterio */
  .familia-rrhh .pick-lead{margin-top:14px}
  .familia-rrhh .pick-foot{margin-top:28px;padding-top:22px}
  /* referencias e informe */
  .familia-rrhh :is(.v2-refs,.v2-report-grid){gap:24px}
  .familia-rrhh .v2-refs .v2-refs-proof{margin-top:22px}
  .familia-rrhh .v2-report .v2-report-box{padding:0 20px}
  .familia-rrhh .v2-report .v2-fold>summary{min-height:56px;border:0}
  .familia-rrhh .v2-report .v2-fold form{padding:6px 0 24px}
  /* preguntas */
  .familia-rrhh .faq{gap:24px}
  .familia-rrhh .accordion summary{padding-block:18px}
  .familia-rrhh .accordion details p{padding-right:0}
  /* cierre */
  .familia-rrhh .v2-close-grid{gap:32px}
  .familia-rrhh .v2-person{margin-top:24px;padding-top:20px}
  .familia-rrhh .v2-form-box{padding:24px 18px}
  .familia-rrhh .v2-form-box form{gap:18px}
  /* segmentos y metodo */
  .familia-rrhh .v2-three article{padding:22px 0 24px}
  .familia-rrhh .v2-modes article{padding:22px 18px}
  .familia-rrhh .v2-milestones div{padding:16px 12px 16px 0}
  .familia-rrhh .v2-steps li{padding-block:20px;gap:8px 12px}
  .familia-rrhh .v2-pledges article{padding:20px 0 22px}
  .familia-rrhh .v2-roles{margin-top:32px}
}
/* ── fin PR 12 ─────────────────────────────────────────────────────────────────────────── */

/* ── Reclutamiento y difusión (PR 15 · reclutamiento-y-difusion.html y en/) ──────────────────────
   Página v2 que reemplaza a sistema.html y avisos.html. Todo va bajo body.rdd o con prefijo .rdd-: no
   toca otras páginas. El estado del formulario (.form-status) es el común (base.css y «Formularios»,
   arriba). */
.rdd .inner-section{padding-block:var(--sec)}
.rdd .v2-close{padding-block:var(--sec-lg)}
.rdd .rdd-hero{padding:clamp(36px,8vw,60px) 0 var(--sec)}
.rdd .rdd-hero .breadcrumbs{margin-bottom:clamp(24px,5vw,42px)}
.rdd .rdd-hero .v2-lead{margin:22px 0 24px}
/* Las dos modalidades, al lado del hero (debajo en celular) */
.rdd-choose{border:1px solid var(--ink);background:#faf7f1;padding:28px;box-shadow:0 26px 60px #302b2014}
.rdd-choose .eyebrow{margin:0 0 6px}
.rdd-choose a{position:relative;display:grid;gap:4px;padding:18px 36px 18px 0;border-top:1px solid var(--line);color:var(--ink)}
.rdd-choose a::after{content:"↓";position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--red);font:500 1rem var(--mono)}
.rdd-choose small{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.rdd-choose b{font:400 1.35rem/1.2 var(--serif)}
.rdd-choose span{font-size:.875rem;color:var(--muted)}
@media(hover:hover) and (pointer:fine){.rdd-choose a:hover b{color:var(--red)}}
/* Los dos bloques */
.rdd-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.rdd-block{border:1px solid var(--line);background:#faf7f1;padding:clamp(22px,4vw,36px)}
.rdd-block>.rdd-tag{margin:0 0 12px;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.rdd-tag span{margin-right:6px}
.rdd-block h2{font:400 clamp(1.8rem,3vw,2.5rem)/1.08 var(--serif);letter-spacing:-.02em;margin:0 0 14px}
.rdd-block>p{margin:0 0 12px;color:var(--muted);font-size:15.2px}
.rdd-block .rdd-for b{color:var(--ink);font-weight:500}
.rdd-block h3{margin:20px 0 2px;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.rdd-block ul{list-style:none;margin:0 0 18px;padding:0}
.rdd-block li{padding:7px 0;border-top:1px solid var(--line);font-size:15.2px;line-height:1.45}
.rdd-block .rdd-meta{margin:0;border-top:1px solid var(--ink);padding-top:14px;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.rdd-block .rdd-meta i{display:block;margin-top:6px;font:400 15.2px/1.5 var(--sans);font-style:normal;letter-spacing:0;text-transform:none;color:var(--muted)}
.rdd .text-link{min-height:var(--tap);align-items:flex-end;gap:18px;margin-top:10px}
/* Preguntas */
.rdd-faq{border-top:0}
.rdd details ol,.rdd details ul{margin:0;padding:0 50px 20px 1.2em;color:var(--muted);font-size:15.2px;max-width:700px}
.rdd details li{padding:3px 0}
.rdd details li b,.rdd details p strong{color:var(--ink);font-weight:500}
.rdd details ul+p{padding-top:0}
/* Contacto */
.rdd .v2-person a{min-height:32px;display:inline-flex;align-items:flex-end;margin-top:0}
.rdd-form fieldset{margin:0;padding:0;border:0;min-width:0}
.rdd-form legend{padding:0;margin:0 0 14px;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.rdd-form legend span{color:var(--muted);font-weight:400}
.rdd-canal-grid{display:grid;gap:22px}
.rdd-form .button{width:100%;justify-content:center;cursor:pointer}
.rdd-form .button:disabled{cursor:default}
@media(min-width:801px){.rdd-canal-grid{grid-template-columns:1fr 1fr;gap:25px 20px}}
@media(max-width:1080px){.rdd-choose{max-width:680px}}
@media(max-width:800px){
  .rdd-grid{grid-template-columns:1fr}
  .rdd-choose{padding:18px 20px 4px;box-shadow:none}
  .rdd-choose a{padding:14px 32px 14px 0}
  .rdd-faq{gap:28px}
  .rdd summary{padding:18px 40px 18px 0}
  .rdd details p{padding-right:0}
  .rdd details ol,.rdd details ul{padding-right:0}
  .rdd .v2-form-box{padding:22px 18px}
  .rdd .candidate-inline{padding:44px 0}
  .rdd-faq h2,.rdd .v2-close h2{font-size:clamp(2.2rem,9vw,2.6rem);line-height:1.04}
  .rdd-form{gap:18px}
}
@media(max-width:600px){
  .rdd-choose span{display:none}
  .rdd-grid{gap:34px}
  .rdd-block{border:0;border-top:1px solid var(--ink);background:none;padding:22px 0 0}
}
/* ── fin Reclutamiento y difusión ─────────────────────────────────────────────────────────────── */
