/* QKStudio — Sumate (RRHH): /sumate y /sumate/<oferta>. Solo se carga ahí. Prefijo .cr- */
.cr-main{ overflow-x:clip; }
.cr-hero{ padding:clamp(130px,17vh,190px) 0 clamp(48px,7vw,96px); }
.cr-hero--single{ padding-bottom:clamp(30px,4vw,56px); }
.cr-h1{ font-size:clamp(2.8rem,8vw,7rem); line-height:1; letter-spacing:-.03em; margin:18px 0 0; max-width:12em; }
.cr-h1--single{ font-size:clamp(2.2rem,5.4vw,4.6rem); max-width:16em; }
.cr-lead{ color:var(--gray-light); font-size:clamp(1.02rem,1.4vw,1.25rem); line-height:1.65; max-width:38em; margin:28px 0 0; }
.cr-hero__cta{ display:flex; flex-wrap:wrap; gap:12px; margin:34px 0 0; }
.cr-h2{ font-size:clamp(1.7rem,3.2vw,2.8rem); letter-spacing:-.02em; margin:0 0 clamp(26px,3.4vw,48px); }

/* Cómo trabajamos */
.cr-why{ padding:clamp(40px,6vw,90px) 0; border-top:1px solid var(--light-08); }
.cr-why__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,2.4vw,36px); }
.cr-why__item{ border-top:1px solid var(--light-15); padding-top:22px; transition-delay:var(--d,0ms); }
.cr-why__n{ display:block; font-family:var(--font-display); font-size:.9rem; letter-spacing:.12em; color:var(--gray-light); margin-bottom:14px; }
.cr-why__item h3{ font-size:clamp(1.2rem,1.8vw,1.55rem); line-height:1.2; margin:0 0 10px; }
.cr-why__item p{ color:var(--gray-light); line-height:1.65; margin:0; max-width:24em; }

/* Posiciones */
.cr-jobs{ padding:clamp(40px,6vw,90px) 0; border-top:1px solid var(--light-08); scroll-margin-top:80px; }
.cr-jobs__list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--light-15); }
.cr-job{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px 40px; align-items:center; padding:clamp(22px,2.6vw,34px) 0; border-bottom:1px solid var(--light-15); transition-delay:var(--d,0ms); }
.cr-job__main{ display:block; color:inherit; text-decoration:none; }
.cr-job__main h3{ font-size:clamp(1.3rem,2.2vw,1.9rem); line-height:1.15; letter-spacing:-.01em; margin:0 0 10px; transition:color .3s ease; }
.cr-job__main:hover h3{ color:var(--gray-light); }
.cr-job__main p{ color:var(--gray-light); line-height:1.6; margin:0 0 14px; max-width:46em; }
.cr-job__side{ display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:10px; }
.cr-job__close{ flex-basis:100%; text-align:right; font-size:.8rem; color:var(--gray-light); }
.cr-empty{ color:var(--gray-light); font-size:clamp(1.02rem,1.4vw,1.2rem); line-height:1.6; max-width:34em; margin:0; padding:10px 0; }
.cr-chips{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.cr-chips li{ border:1px solid var(--light-30); border-radius:100px; padding:.34em .9em; font-size:.78rem; letter-spacing:.02em; color:var(--white); }
.cr-chips--big{ margin-top:26px; }
.cr-chips--big li{ font-size:.86rem; padding:.45em 1.1em; }

/* Formulario */
.cr-apply{ padding:clamp(40px,6vw,90px) 0 clamp(70px,9vw,130px); border-top:1px solid var(--light-08); }
.cr-card{ scroll-margin-top:90px; max-width:860px; background:rgba(241,241,241,.05); border:1px solid var(--light-08); border-radius:26px; padding:clamp(24px,3.2vw,48px); margin-inline:auto; }
.cr-detail__form .cr-card{ max-width:none; position:sticky; top:96px; }
.cr-card h2{ font-size:clamp(1.4rem,2.4vw,2rem); margin:0 0 6px; }
.cr-card__sub{ color:var(--gray-light); margin:0 0 24px; font-size:.95rem; }
.cr-form{ display:grid; grid-template-columns:1fr 1fr; gap:20px 24px; }
.cr-field{ display:flex; flex-direction:column; gap:6px; position:relative; min-width:0; }
.cr-field.is-full, .cr-submit.is-full{ grid-column:1 / -1; }
.cr-label{ font-size:.8rem; letter-spacing:.03em; color:var(--gray-light); }
.cr-label .req{ color:var(--white); margin-left:3px; }
.cr-label .opt{ opacity:.7; font-size:.74rem; margin-left:6px; }
.cr-field input[type=text], .cr-field input[type=email], .cr-field input[type=tel], .cr-field textarea{ width:100%; background:transparent; border:0; border-bottom:1px solid var(--light-30); color:var(--white); font:inherit; font-size:1rem; padding:8px 0 10px; border-radius:0; outline:none; transition:border-color .3s ease; }
.cr-field textarea{ resize:vertical; min-height:84px; line-height:1.5; }
.cr-field input::placeholder, .cr-field textarea::placeholder{ color:rgba(145,143,167,.55); }
.cr-field input:focus, .cr-field textarea:focus{ border-bottom-color:var(--gray-light); }
.cr-field.has-error input[type=text], .cr-field.has-error input[type=email], .cr-field.has-error input[type=tel], .cr-field.has-error textarea{ border-bottom-color:#e58a8a; }
.cr-field .field-error{ color:#e58a8a; font-size:.78rem; max-height:0; overflow:hidden; opacity:0; transition:max-height .3s ease, opacity .3s ease; }
.cr-field.has-error .field-error{ max-height:48px; opacity:1; }
.cr-fixed{ margin:0; font-family:var(--font-display); font-size:1.15rem; padding:6px 0 4px; }
.cr-select{ position:relative; }
.cr-select::after{ content:""; position:absolute; right:4px; top:50%; width:8px; height:8px; margin-top:-6px; border-right:2px solid var(--gray-light); border-bottom:2px solid var(--gray-light); transform:rotate(45deg); pointer-events:none; }
.cr-select select{ width:100%; appearance:none; -webkit-appearance:none; background:transparent; color:var(--white); border:0; border-bottom:1px solid var(--light-30); font:inherit; font-size:1rem; padding:8px 28px 10px 0; border-radius:0; outline:none; cursor:pointer; }
.cr-select select:focus{ border-bottom-color:var(--gray-light); }
.cr-select option{ color:#261e25; background:#f1f1f1; }

/* Archivo */
.cr-file__input{ position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; pointer-events:none; }
.cr-file__drop{ display:flex; align-items:center; gap:14px; border:1px dashed var(--light-30); border-radius:14px; padding:14px 16px; cursor:pointer; transition:border-color .3s ease, background-color .3s ease; }
.cr-file__drop:hover, .cr-file__input:focus-visible + .cr-file__drop{ border-color:var(--white); background:var(--light-08); }
.cr-file__btn{ flex:none; background:var(--white); color:var(--gray-dark); border-radius:100px; padding:.55em 1.2em; font-weight:600; font-size:.86rem; }
.cr-file__name{ min-width:0; color:var(--gray-light); font-size:.9rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cr-file.has-file .cr-file__name{ color:var(--white); }
.cr-file.has-error .cr-file__drop{ border-color:#e58a8a; }

/* Consentimiento */
.cr-check{ display:flex; gap:12px; align-items:flex-start; cursor:pointer; color:var(--gray-light); font-size:.9rem; line-height:1.5; }
.cr-check input{ position:absolute; opacity:0; width:1px; height:1px; }
.cr-check__box{ flex:none; width:20px; height:20px; margin-top:1px; border:1px solid var(--light-30); border-radius:6px; position:relative; transition:background-color .25s ease, border-color .25s ease; }
.cr-check input:checked + .cr-check__box{ background:var(--white); border-color:var(--white); }
.cr-check input:checked + .cr-check__box::after{ content:""; position:absolute; left:6px; top:2px; width:5px; height:10px; border:solid var(--gray-dark); border-width:0 2px 2px 0; transform:rotate(45deg); }
.cr-check input:focus-visible + .cr-check__box{ outline:2px solid var(--white); outline-offset:2px; }
.cr-consent.has-error .cr-check__box{ border-color:#e58a8a; }

.cr-form .form-status{ grid-column:1 / -1; color:#e58a8a; font-size:.9rem; min-height:0; }
.cr-form .form-status:empty{ display:none; }
.cr-submit{ display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.cr-form button[disabled]{ opacity:.6; cursor:progress; transform:none; }
.cr-legal{ color:var(--gray-light); font-size:.82rem; line-height:1.7; margin:0; }
.cr-legal a{ color:var(--white); text-decoration:underline; text-underline-offset:3px; }

.cr-success{ display:none; padding:10px 0; }
.cr-success h3{ font-size:clamp(1.5rem,2.6vw,2.2rem); margin:0 0 14px; }
.cr-success p{ color:var(--gray-light); line-height:1.6; max-width:30em; margin:0 0 26px; }
.cr-card.is-sent .cr-form, .cr-card.is-sent .cr-card__head{ display:none; }
.cr-card.is-sent .cr-success{ display:block; }

/* Detalle de la oferta */
.cr-detail{ padding:clamp(20px,3vw,40px) 0 clamp(70px,9vw,130px); }
.cr-detail__grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(36px,6vw,100px); align-items:start; }
.cr-prose{ font-size:clamp(1rem,1.2vw,1.1rem); line-height:1.75; color:var(--white); }
.cr-prose > *:first-child{ margin-top:0; }
.cr-prose h2, .cr-prose h3{ font-family:var(--font-display); letter-spacing:-.01em; margin:1.8em 0 .6em; line-height:1.2; }
.cr-prose h2{ font-size:clamp(1.4rem,2.2vw,1.9rem); }
.cr-prose h3{ font-size:clamp(1.15rem,1.6vw,1.4rem); }
.cr-prose p{ margin:0 0 1.1em; opacity:.9; }
.cr-prose ul, .cr-prose ol{ margin:0 0 1.3em; padding-left:1.3em; opacity:.9; }
.cr-prose ul{ list-style:disc; }
.cr-prose ol{ list-style:decimal; }
.cr-hero--single .crumbs{ margin-bottom:18px; }
.cr-prose li{ margin:.35em 0; }
.cr-prose a{ text-decoration:underline; text-underline-offset:3px; }
.cr-closed{ border:1px solid var(--light-30); border-radius:14px; padding:14px 18px; color:var(--gray-light); }
.cr-back{ margin-top:2.4em; }
.cr-back a{ color:var(--gray-light); text-decoration:none; }
.cr-back a:hover{ color:var(--white); }

@media (max-width:980px){
  .cr-why__list{ grid-template-columns:1fr; }
  .cr-detail__grid{ grid-template-columns:1fr; }
  .cr-detail__form .cr-card{ position:static; }
}
@media (max-width:760px){
  .cr-job{ grid-template-columns:1fr; }
  .cr-job__side{ justify-content:flex-start; }
  .cr-job__close{ text-align:left; }
  .cr-form{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){ .cr-why__item, .cr-job{ transition-delay:0ms !important; } }
