/* ============================================================
   AFIANZA · SECTORES / CASOS DE ÉXITO / EMPLEO (2026-09)
   ------------------------------------------------------------
   Port de los cuatro Figma del 2026-09-03:
     · Afianza_Distributiva_Sector (vIb5dwcEBoAxP6nLrHoShL, nodo 1:65)
     · Afianza_Plantilla_Sector    (v4JvwNxeaXwfc7PntUU7my, nodo 1:72)
     · Afianza_Casos_de_exito     (onSglVLAAVnTWZh64Wu52x, nodo 1:77)
     · Afianza_Empleo             (h9hNwnZ6rsM99XPaTUH79l, nodo 0:1171)

   Se carga SIEMPRE junto a home26.css y paginas26.css (tokens,
   reset, cabecera, pie, botones, .afzh-link, .afzp-* comunes) y
   solo en las plantillas de páginas 2026 y en el editor. Como
   ellas, NO pasa por Tailwind y todo cuelga de `.afzh` (el
   <body>) o `.afzh-b` (raíz de cada bloque, para el editor).
   ============================================================ */

/* ---------- Token propio de este paquete ---------- */
.afzh,
.afzh-b {
  --ultra: #EBF1F4;   /* afianza_ultralight_new: casos claros y banda de ofertas */
}

/* ============================================================
   PIEZAS COMUNES
   ============================================================ */

/* Breadcrumb/antetítulo de los heros oscuros (18/SemiBold acero). */
.afzs-crumb { font-weight: 600; }

/* H1 blanco sobre los heros con foto. */
.afzs-h1 { color: var(--white); }

/* Entradilla grande (36/44 Medium navy: subtítulo de Casos, intro de Empleo). */
.afzs-lead {
  font-size: 36px;
  line-height: 44px;
  font-weight: 500;
  letter-spacing: -.04em;
  color: var(--navy);
}

/* Tarjeta celeste alta de la plantilla de sector (sobre .afzp-card). */
.afzh .afzp-card--sector,
.afzh-b .afzp-card--sector { min-height: 400px; }

/* ============================================================
   HEROS CON FOTO
   ------------------------------------------------------------
   · .afzs-shero  (Plantilla Sector): fachada curva 485px, velo navy 30 %.
   · .afzs-chero  (Casos y Empleo):   franjas 440px, velo casi negro 90 %.
   El velo va en un ::after para no oscurecer los rótulos.
   ============================================================ */
.afzs-shero,
.afzs-chero__banda {
  position: relative;
  z-index: 0;
}
.afzs-shero { min-height: var(--afz-page-hero-height); padding: 122px var(--pad) 0; }
.afzs-chero__banda { min-height: 440px; padding: 122px var(--pad) 0; }

.afzs-shero__bg,
.afzs-chero__bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  background: var(--roto);
}
.afzs-shero__bg img,
.afzs-chero__bg img { width: 100%; height: 100%; object-fit: cover; }

.afzs-shero::after,
.afzs-chero__banda::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--navy);
  opacity: .3;
}
.afzs-chero__banda::after { background: var(--navy-deep); opacity: .9; }

.afzs-shero__btn { margin-top: 25px; }

/* Entradilla de Casos: banda blanca bajo el hero. */
.afzs-chero__lead {
  max-width: calc(674px + 2 * var(--pad));   /* border-box: el pad no come texto */
  margin: 0;
  padding: 45px var(--pad) 92px;
  background: var(--white);
}
/* El padding es de la sección, no del texto (el fondo blanco va a sangre). */
.afzs-chero { background: var(--white); }
.afzs-chero__lead { background: none; }

/* ============================================================
   DISTRIBUTIVA DE SECTORES
   ============================================================ */

/* --- Hero navy con la banda de imagen (vídeo en el mock) --- */
.afzs-hero { position: relative; min-height: var(--afz-page-hero-height); background: var(--navy); }
.afzs-hero__head { position: relative; z-index: 1; padding: 122px var(--pad) 60px; }
.afzs-hero__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.afzs-hero__media img { width: 100%; height: 100%; object-fit: cover; }

/* --- Rejilla de sectores sobre celeste --- */
.afzs-grid { background: var(--celeste); padding: 92px 0 139px; }
.afzs-grid__title { margin-bottom: 37px; max-width: 873px; }

.afzs-grid__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 13px;
  padding: 0 var(--pad);
}

.afzs-card {
  position: relative;
  background: var(--white);
}
/* El mismo filete decorativo de las tarjetas celestes, a sangre del borde. */
.afzs-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 9px;
  background: url('../img/home/stroke-card.png') center / cover no-repeat;
  z-index: 1;
}
.afzs-card__media {
  height: 234px;
  overflow: hidden;
}
.afzs-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.afzs-card:hover .afzs-card__media img,
.afzs-card:focus-within .afzs-card__media img { transform: scale(1.08); }

.afzs-card__body {
  display: flex;
  flex-direction: column;
  min-height: 150px;
  padding: 22px 31px 25px 35px;
}
/* Revisión EVO (Figma «AFIANZA WEB DESIGN EVO», nodo 1048:48584): el título
   baja de 32 a 24px (mismo interlineado de 38) y cae a 31px del borde de la
   tarjeta; el cuerpo mantiene sus 35px para el texto y el «Ver más». */
.afzs-card__title {
  max-width: 388px;
  margin-left: -4px;
  font-size: 24px;
  line-height: 38px;
  font-weight: 500;
  letter-spacing: -.05em;
  color: var(--navy);
}
.afzs-card__text {
  margin-top: auto;
  max-width: 369px;
  padding-top: 18px;
  font-size: 16px;
  line-height: 22px;
  letter-spacing: -.03em;
  color: var(--navy);
}
.afzs-card__link { margin-top: auto; }

/* ============================================================
   BANDA DE CIERRE (compartida por las tres distributivas)
   ============================================================ */
.afzs-cierre {
  position: relative;
  z-index: 0;
  min-height: 460px;
  padding: 67px var(--pad) 64px;
}
.afzs-cierre__bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  background: var(--roto);
}
.afzs-cierre__bg img { width: 100%; height: 100%; object-fit: cover; }
.afzs-cierre::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--navy-deep);
  opacity: .9;
}
.afzs-cierre--navy::after { background: var(--navy); opacity: .3; }

.afzs-cierre__inner {
  display: grid;
  grid-template-columns: minmax(0, 554px) minmax(0, 676px);
  justify-content: space-between;
  align-items: start;
  gap: 40px;
}
.afzs-cierre__title {
  font-size: 52px;
  line-height: 56px;
  font-weight: 500;
  letter-spacing: -.04em;
  color: var(--white);
}
.afzs-cierre__col { padding-top: 9px; }
.afzs-cierre__text {
  font-size: 22px;
  line-height: 34px;
  letter-spacing: -.03em;
  color: var(--white);
}
.afzs-cierre__text strong { font-weight: 600; }
.afzs-cierre__col .afzh-btn { margin-top: 37px; }

/* ============================================================
   PLANTILLA DE SECTOR
   ============================================================ */

/* --- Intro blanca con el filete vertical --- */
.afzs-intro {
  position: relative;
  background: var(--white);
  padding: 71px var(--pad) 68px;
}
.afzs-intro::before {
  content: none;
}
.afzs-intro__col { display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 674px); justify-content: space-between; gap: 56px; }
.afzs-intro__title {
  font-size: 42px;
  line-height: 46px;
  font-weight: 500;
  letter-spacing: -.04em;
  color: var(--navy);
}
.afzs-intro__text {
  margin-top: 0;
  font-size: 24px;
  line-height: 36px;
  letter-spacing: -.03em;
  color: var(--navy);
}
.afzs-intro__text p + p { margin-top: 36px; }
.afzs-intro__text strong { font-weight: 600; }

/* --- Actores del sector (celeste) --- */
.afzs-actores { display: grid; grid-template-columns: minmax(0, 674px) minmax(0, 460px); justify-content: space-between; gap: 56px; background: var(--celeste); padding: 61px var(--pad) 108px; }
.afzs-actores__title {
  grid-column: 2;
  font-size: 42px;
  line-height: 42px;
  font-weight: 500;
  letter-spacing: -.04em;
  color: var(--navy);
}
.afzs-actores__lista {
  grid-column: 1;
  grid-row: 1;
  max-width: 660px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.afzs-actores__lista li {
  display: flex;
  align-items: baseline;
}
.afzs-actores__lista li + li { margin-top: 27px; }
.afzs-actores__lista .afzp-num { flex: none; width: 49px; line-height: 36px; }
.afzs-actores__texto {
  font-size: 24px;
  line-height: 36px;
  font-weight: 600;
  letter-spacing: -.03em;
  color: var(--navy);
}

/* --- Servicios del sector --- */
.afzs-servicios { background: var(--white); padding: 90px 0 100px; }
.afzs-servicios__title { margin-bottom: 49px; max-width: 855px; }

/* --- Preguntas frecuentes --- */
.afzs-faq { background: var(--white); padding: 92px var(--gut) 126px; }
.afzs-faq__title { margin-bottom: 69px; max-width: 1136px; }
.afzs-faq__lista {
  max-width: 675px;
  margin-inline: auto;
  border-bottom: 1px solid var(--navy);
}
.afzs-faq__item { border-top: 1px solid var(--navy); }
.afzs-faq__q {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 13px 60px 0 2px;
  border: 0;
  background: none;
  cursor: pointer;
  text-align: left;
  font: inherit;
}
.afzs-faq__q span {
  display: block;
  max-width: 593px;
  font-size: 24px;
  line-height: 32px;
  font-weight: 500;
  letter-spacing: -.04em;
  color: var(--navy);
}
.afzs-faq__toggle {
  position: absolute;
  right: 0;
  top: 26px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--steel);
  color: var(--white);
  transition: background .35s var(--ease);
}
.afzs-faq__q:hover .afzs-faq__toggle { background: var(--steel-deep); }
.afzs-faq__menos,
.afzs-faq__item.is-open .afzs-faq__mas { display: none; }
.afzs-faq__item.is-open .afzs-faq__menos { display: block; }

.afzs-faq__a {
  display: none;
  padding: 23px 0 0 2px;
}
.afzs-faq__item.is-open .afzs-faq__a { display: block; }
.afzs-faq__a p {
  max-width: 673px;
  font-size: 20px;
  line-height: 28px;
  letter-spacing: -.03em;
  color: var(--navy);
}
.afzs-faq__item { padding-bottom: 49px; }
.afzs-faq__item.is-open { padding-bottom: 58px; }

/* ============================================================
   CASOS DE ÉXITO
   ============================================================ */
.afzs-caso { background: var(--white); padding: 0 var(--pad) 80px; }
.afzs-caso--claro { background: var(--ultra); padding-bottom: 145px; }

.afzs-caso__inner {
  display: grid;
  grid-template-columns: 329px minmax(0, 1fr);
  gap: 0 128px;
  border-top: 1px solid rgba(39, 46, 66, .25);
}
.afzs-caso--claro .afzs-caso__inner { border-top: 0; padding-top: 25px; }

.afzs-caso__cliente { max-width: 340px; }
.afzs-caso__der { display: flex; flex-direction: column; }
.afzs-caso__servicios { align-self: flex-end; }
.afzs-caso__area {
  margin-top: 17px;
  font-size: 16px;
  line-height: 42px;
  font-weight: 600;
  letter-spacing: -.05em;
  color: var(--steel);
}
.afzs-caso__nombre {
  font-size: 52px;
  line-height: 48px;
  font-weight: 500;
  letter-spacing: -.04em;
  color: var(--navy);
}
.afzs-caso__entradilla {
  margin-top: 14px;
  font-size: 22px;
  line-height: 26px;
  font-weight: 600;
  letter-spacing: -.04em;
  color: var(--navy);
}

.afzs-caso__servicios {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 23px;
}
.afzs-caso__servicios-label {
  margin-right: 8px;
  font-size: 16px;
  line-height: 18px;
  font-weight: 600;
  letter-spacing: -.03em;
  color: var(--navy);
  white-space: pre;              /* «Servicios » con su espacio, literal */
}
.afzs-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 131px;
  padding: 3px 12px;
  border: 1px solid #D1D1D6;
  border-radius: 100px;
  background: var(--white);
  font-size: 11px;
  line-height: 16px;
  font-weight: 500;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--navy);
  transition: background .35s var(--ease);
}
.afzs-pill:hover { background: var(--steel-soft); }

/* Columna de contenido (x497 sobre 1440, 795px de ancho). */
.afzs-caso__cuerpo { max-width: 795px; margin-top: 18px; }

.afzs-caso__tramo + .afzs-caso__tramo {
  margin-top: 38px;
  padding-top: 25px;
  border-top: 1px solid rgba(39, 46, 66, .25);
}
.afzs-caso__tramo-titulo {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 38px;
  line-height: 42px;
  font-weight: 500;
  letter-spacing: -.04em;
  color: var(--navy);
}
.afzs-caso__tramo-titulo img { flex: none; }
.afzs-caso__tramo-texto { margin-top: 8px; }
.afzs-caso__tramo-texto p {
  font-size: 16px;
  line-height: 22px;
  letter-spacing: -.03em;
  color: var(--navy);
}
.afzs-caso__tramo-texto p + p { margin-top: 22px; }
.afzs-caso__tramo-texto strong { font-weight: 600; }

.afzs-caso__cita {
  position: relative;
  margin: 15px 0 0;
  padding-left: 46px;
}
.afzs-caso__comillas { position: absolute; left: 0; top: 0; width: 29px; }
.afzs-caso__cita blockquote {
  margin: 0;
  max-width: 743px;
  font-size: 16px;
  line-height: 22px;
  font-weight: 600;
  font-style: italic;
  letter-spacing: -.03em;
  color: var(--navy);
}
.afzs-caso__cita figcaption { margin: 30px 0 0 11px; }
.afzs-caso__autor {
  display: block;
  font-size: 13px;
  line-height: 20px;
  font-weight: 600;
  letter-spacing: -.03em;
  color: var(--navy);
}
.afzs-caso__cargo {
  display: block;
  font-size: 11px;
  line-height: 18px;
  letter-spacing: -.03em;
  color: var(--navy);
}

/* ============================================================
   EMPLEO
   ============================================================ */

/* --- Ofertas --- */
.afzs-ofertas { background: var(--ultra); padding: 72px var(--pad) 103px; }
.afzs-ofertas__inner {
  display: grid;
  grid-template-columns: minmax(0, 572px) minmax(0, 672px);
  justify-content: space-between;
  align-items: start;
  gap: 40px;
}
.afzs-ofertas__col { padding-top: 11px; }
.afzs-ofertas__title { margin-bottom: 26px; font-size: 32px; line-height: 38px; font-weight: 500; color: var(--navy); }
.afzs-ofertas__more { display: inline-flex; margin-top: 30px; }
.afzs-ofertas__portales {
  display: flex;
  gap: 12px;
  margin-top: 41px;
}
.afzs-btn-portal { gap: 12px; padding: 11px 20px 11px 14px; }
.afzs-btn-portal img { flex: none; width: 36px; height: 35px; }

.afzs-ofertas__lista { display: grid; gap: 11px; }
.afzs-oferta {
  position: relative;
  background: var(--white);
  min-height: 260px;
  padding: 20px 40px 24px 37px;
}
.afzs-oferta::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 12px;
  background: url('../img/home/stroke-card.png') center / cover no-repeat;
}
.afzs-oferta__titulo {
  font-size: 28px;
  line-height: 38px;
  font-weight: 500;
  letter-spacing: -.05em;
  color: var(--navy);
}
.afzs-oferta__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 0;
}
.afzs-oferta__area {
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  letter-spacing: -.02em;
  color: var(--navy);
}
.afzs-oferta__ciudad {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding-left: 10px;
  border-left: 1px solid var(--navy);
  font-size: 14px;
  line-height: 24px;
  font-weight: 600;
  letter-spacing: -.02em;
  color: var(--navy);
}
.afzs-oferta__ciudad img { width: 16px; height: 16px; }
.afzs-oferta__texto {
  max-width: 593px;
  margin-top: 12px;
  font-size: 16px;
  line-height: 22px;
  letter-spacing: -.03em;
  color: var(--navy);
}
.afzs-oferta__link { margin-top: 20px; }

/* --- «Háblanos de tí» (navy) --- */
.afzs-form { background: var(--navy); padding: 85px var(--pad) 101px; }
.afzs-form__inner {
  display: grid;
  grid-template-columns: minmax(0, 461px) 514px;
  justify-content: space-between;
  align-items: start;
  gap: 40px;
  padding-left: 110px;
  padding-right: 160px;
}
.afzs-form__title {
  font-size: 42px;
  line-height: 44px;
  font-weight: 500;
  letter-spacing: -.04em;
  color: var(--white);
}
.afzs-form__text {
  margin-top: 33px;
  font-size: 24px;
  line-height: 34px;
  letter-spacing: -.03em;
  color: var(--white);
}
.afzs-form__text strong { font-weight: 600; }

.afzs-form__card {
  background: var(--white);
  border-radius: 20px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, .27);
  padding: 36px 34px 42px;
}

/* Toggle Profesional/Estudiante que abre la tarjeta (nodos 1039:2147/2149).
   El activo va en navy medio y el otro en acero; el reset `.afzh button` le
   gana a las clases por especificidad, de ahí el doble selector — misma
   trampa que el ENVIAR, no la deshagas. */
.afzs-perfil {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin: 4px 0 39px;
}
.afzh .afzs-perfil__btn,
.afzh-b .afzs-perfil__btn {
  width: 198px;
  padding: 7px 12px;
  border: 0;
  border-radius: 100px;
  background: var(--steel);
  font-family: inherit;
  font-size: 12px;
  line-height: 28px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
  color: var(--navy);
  cursor: pointer;
  transition: background .25s var(--ease), color .25s var(--ease);
}
.afzh .afzs-perfil__btn.is-on,
.afzh-b .afzs-perfil__btn.is-on {
  background: var(--navy-mid);
  color: var(--ultra);
}
.afzh .afzs-perfil__btn:hover,
.afzh-b .afzs-perfil__btn:hover { background: var(--steel-deep); color: var(--white); }
.afzh .afzs-perfil__btn.is-on:hover,
.afzh-b .afzs-perfil__btn.is-on:hover { background: var(--navy); }

.afzs-campo { margin-bottom: 20px; }
.afzs-campo label {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  line-height: 28px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--navy);
}
.afzs-campo input,
.afzs-campo select {
  width: 100%;
  height: 50px;
  padding: 0 12px;
  border: 1px solid #D1D1D6;
  border-radius: 0;
  background: var(--white);
  font-family: inherit;
  font-size: 16px;
  line-height: 26px;
  font-weight: 500;
  letter-spacing: -.02em;
  color: var(--navy);
}
.afzs-campo input::placeholder { color: #828797; font-weight: 400; }
.afzs-campo input:focus,
.afzs-campo select:focus {
  outline: none;
  border-color: var(--steel);
  background: #F1F4F7;
}
.afzs-select { position: relative; }
.afzs-select::after {
  content: '';
  position: absolute;
  right: 14px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid var(--navy);
  border-bottom: 1.5px solid var(--navy);
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}
.afzs-select select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 34px;
  color: #828797;
  font-weight: 400;
}
.afzs-select select.is-filled { color: var(--navy); font-weight: 500; }

.afzs-form__fila {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px;
}

.afzs-adjunto {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 68px;
  margin-top: 14px;
  padding: 0 22px;
  border-radius: 4px;
  background: var(--celeste);
  cursor: pointer;
  transition: background .35s var(--ease);
}
.afzs-adjunto:first-of-type { margin-top: 32px; }
.afzs-adjunto:hover { background: #B3C6D2; }
.afzs-adjunto img { flex: none; width: 34px; }
.afzs-adjunto__textos { display: block; }
.afzs-adjunto__textos strong {
  display: block;
  font-size: 12px;
  line-height: 20px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--navy);
}
.afzs-adjunto__textos small {
  display: block;
  font-size: 11px;
  line-height: 16px;
  letter-spacing: -.02em;
  color: var(--navy);
}

.afzs-form__pie {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 23px;
}
.afzs-privacidad {
  display: flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
}
.afzs-privacidad input { position: absolute; opacity: 0; width: 0; height: 0; }
.afzs-privacidad i {
  display: grid;
  place-items: center;
  flex: none;
  width: 22px;
  height: 24px;
  border: 1px solid var(--steel);
  border-radius: 4.7px;
  color: transparent;
  transition: background .25s var(--ease);
}
.afzs-privacidad input:checked + i { background: var(--steel); color: var(--white); }
.afzs-privacidad span {
  font-size: 12.3px;
  line-height: 13px;
  letter-spacing: -.02em;
  color: #828797;
}
.afzs-privacidad a { color: inherit; text-decoration: underline; }
/* Estado de error que marca sectores26.js al enviar sin completar. */
.afzs-campo.is-error input { border-color: #C0392B; }
.afzs-privacidad.is-error i { border-color: #C0392B; }
/* El reset `.afzh button` (background/color inherit) gana a `.afzh-btn` por
   especificidad y dejaba el ENVIAR blanco sobre blanco: se reafirma aquí. */
.afzh .afzs-form__enviar,
.afzh-b .afzs-form__enviar {
  border: 0;
  cursor: pointer;
  font-family: inherit;
  background: var(--steel);
  color: var(--navy);
}
.afzh .afzs-form__enviar:hover,
.afzh-b .afzs-form__enviar:hover { background: var(--steel-deep); }

/* --- «¿Por qué trabajar en Afianza?» (celeste) --- */
.afzs-porque { background: var(--celeste); padding: 61px var(--gut) 114px; }
.afzs-porque__title { margin-bottom: 44px; }
.afzs-porque__cards {
  display: flex;
  justify-content: center;
  gap: 12px;
}
.afzs-porque__card {
  display: flex;
  flex-direction: column;
  width: 331px;
  min-height: 674px;
  padding: 17px 24px 40px 28px;
  background: var(--navy);
  color: var(--white);
}
.afzs-porque__card .afzp-num { flex: none; }
.afzs-porque__icono {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 241px;
  margin: 14px 0 31px;
}
.afzs-porque__icono img { max-width: 241px; max-height: 241px; }
.afzs-porque__icono--flecha img { width: 140px; }
.afzs-porque__icono--asterisco img { width: 166px; }
.afzs-porque__card-title {
  max-width: 282px;
  font-size: 24px;
  line-height: 28px;
  font-weight: 500;
  letter-spacing: -.03em;
}
.afzs-porque__card-text { margin-top: 14px; max-width: 282px; }
.afzs-porque__card-text p {
  font-size: 16px;
  line-height: 24px;
  letter-spacing: -.03em;
}

/* --- Áreas (blanco, carrusel de paginas26) --- */
.afzs-areas { background: var(--white); padding: 43px 0 152px; }
.afzs-areas__heading {
  margin-top: 6px;
  padding: 0 var(--pad);
  font-size: 24px;
  line-height: 34px;
  letter-spacing: -.03em;
  color: var(--navy);
}
.afzs-areas__heading strong { font-weight: 600; }
.afzh .afzs-areas__carrusel,
.afzh-b .afzs-areas__carrusel { margin-top: 48px; }
.afzs-areas__nombre {
  margin-top: 21px;
  font-size: 32px;
  line-height: 41px;
  font-weight: 500;
  letter-spacing: -.05em;
  color: var(--navy);
}
.afzs-areas__link { margin-top: 18px; }
.afzs-areas__link--pending { opacity: .55; cursor: default; }
.afzs-areas__text { margin-top: 14px; font-size: 16px; line-height: 23px; }

/* ============================================================
   RESPONSIVE
   ------------------------------------------------------------
   Base 1440. A 1280/1100 las rejillas pierden columnas y las
   columnas fijas se relajan; a 780 (el corte móvil de home26)
   todo apila.
   ============================================================ */
@media (max-width: 1280px) {
  .afzs-grid__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .afzs-caso__inner { gap: 0 48px; }
  .afzs-form__inner { padding-left: 0; padding-right: 0; }
  .afzs-ofertas__inner { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
}

@media (max-width: 1100px) {
  .afzs-intro::before { display: none; }
  .afzs-intro__col,
  .afzs-actores { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .afzs-actores__title,
  .afzs-actores__lista { grid-column: 1; grid-row: auto; }
  .afzs-caso__inner { grid-template-columns: minmax(0, 1fr); }
  .afzs-caso__servicios { align-self: flex-start; }
  .afzs-caso__cuerpo { margin-top: 24px; max-width: none; }
  .afzs-ofertas__inner { grid-template-columns: minmax(0, 1fr); }
  .afzs-form__inner { grid-template-columns: minmax(0, 1fr); }
  .afzs-form__card { justify-self: start; max-width: 514px; width: 100%; }
  .afzs-porque__cards { flex-wrap: wrap; }
  .afzs-porque__card { min-height: 0; }
  .afzs-cierre__inner { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 780px) {
  .afzs-lead { font-size: 24px; line-height: 32px; }
  .afzs-hero__head,
  .afzs-shero,
  .afzs-chero__banda { padding-top: 96px; }
  .afzs-chero__banda { min-height: 340px; }
  .afzs-chero__lead { padding: 32px var(--gut) 48px; }

  .afzs-grid { padding: 48px 0 64px; }
  .afzs-grid__cards { grid-template-columns: minmax(0, 1fr); }
  .afzs-card__body { min-height: 0; }
  .afzs-card__text { padding-top: 24px; }

  .afzs-cierre { padding: 48px var(--gut) 48px; }
  .afzs-cierre__title { font-size: 30px; line-height: 36px; }
  .afzs-cierre__text { font-size: 18px; line-height: 28px; }
  .afzs-cierre__col .afzh-btn { margin-top: 24px; }

  .afzs-intro { padding: 44px var(--gut) 48px; }
  .afzs-intro__title { font-size: 28px; line-height: 34px; }
  .afzs-intro__text { margin-top: 22px; font-size: 18px; line-height: 28px; }
  .afzs-actores { padding: 44px var(--gut) 56px; }
  .afzs-actores__title { font-size: 28px; line-height: 32px; }
  .afzs-actores__lista { margin-top: 32px; }
  .afzs-actores__texto { font-size: 18px; line-height: 28px; }
  .afzs-actores__lista li + li { margin-top: 20px; }
  .afzs-servicios { padding: 48px 0 56px; }
  .afzs-servicios__title { margin-bottom: 28px; }
  .afzh .afzp-card--sector,
  .afzh-b .afzp-card--sector { min-height: 0; }

  .afzs-faq { padding: 48px var(--gut) 64px; }
  .afzs-faq__title { margin-bottom: 32px; }
  .afzs-faq__q span { font-size: 19px; line-height: 26px; }
  .afzs-faq__q { padding-right: 48px; }
  .afzs-faq__a p { font-size: 16px; line-height: 24px; }
  .afzs-faq__item,
  .afzs-faq__item.is-open { padding-bottom: 28px; }
  .afzs-faq__toggle { top: 14px; }

  .afzs-caso { padding-bottom: 48px; }
  .afzs-caso__nombre { font-size: 36px; line-height: 38px; }
  .afzs-caso__entradilla { font-size: 18px; line-height: 24px; }
  .afzs-caso__tramo-titulo { font-size: 28px; line-height: 32px; }
  .afzs-caso__servicios { flex-wrap: wrap; }

  .afzs-ofertas { padding: 44px var(--gut) 56px; }
  .afzs-ofertas__portales { flex-wrap: wrap; margin-top: 24px; }
  .afzs-oferta { min-height: 0; padding: 18px 20px 22px 26px; }
  .afzs-oferta__titulo { font-size: 24px; line-height: 32px; }
  .afzs-oferta__meta { flex-wrap: wrap; }

  .afzs-form { padding: 48px var(--gut) 56px; }
  .afzs-form__title { font-size: 30px; line-height: 36px; }
  .afzs-form__text { margin-top: 18px; font-size: 18px; line-height: 28px; }
  .afzs-form__card { padding: 24px 20px 28px; }
  .afzs-perfil { margin-bottom: 28px; }
  .afzh .afzs-perfil__btn,
  .afzh-b .afzs-perfil__btn { width: auto; flex: 1 1 0; }
  .afzs-form__fila { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .afzs-form__pie { flex-direction: column; align-items: flex-start; }

  .afzs-porque { padding: 44px var(--gut) 64px; }
  .afzs-porque__card { width: 100%; }
  .afzs-porque__icono { height: 170px; }
  .afzs-porque__icono img { max-width: 170px; max-height: 170px; }

  .afzs-areas { padding: 32px 0 72px; }
  .afzs-areas__heading { font-size: 18px; line-height: 26px; }
  .afzh .afzs-areas__carrusel,
  .afzh-b .afzs-areas__carrusel { margin-top: 28px; }
  .afzs-areas__nombre { font-size: 24px; line-height: 30px; }
}

.afzs-hero {position:relative;isolation:isolate;overflow:hidden;background:#2d354c;}
.afzs-hero__head {position:relative;z-index:2;min-height:540px;display:flex;flex-direction:column;justify-content:center;}
.afzs-hero__media {position:absolute;inset:0;height:100%;z-index:-2;}
.afzs-hero__media img {height:100%;width:100%;object-fit:cover;opacity:1;}
.afzs-hero::after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#2d354c 0%,rgba(45,53,76,.94) 24%,rgba(45,53,76,.7) 49%,rgba(45,53,76,.12) 92%);}
.afzs-shero {background:#2d354c;}
.afzs-shero__bg img {mix-blend-mode:luminosity;opacity:1;}
.afzs-shero__bg::after {background:linear-gradient(90deg,rgba(45,53,76,.92),rgba(45,53,76,.3));}
.afzs-cierre {background:#2d354c;}
.afzs-cierre__bg {display:none;}
@media(max-width:780px){.afzs-hero__head{min-height:440px;}}

.afzs-campo textarea{width:100%;padding:12px;border:1px solid #bcc7d0;border-radius:4px;font:inherit;resize:vertical;}

/* October 4: consistent heroes and the employment form beside its intro. */
.afzs-hero__head {padding-top:calc(var(--header) + 65px);padding-bottom:72px;}
.afzs-hero__head .afzp-h1 {max-width:740px;}
.afzs-chero__banda {padding-top:calc(var(--header) + 65px);padding-bottom:50px;}
.afzs-shero {isolation:isolate;min-height:540px;padding:calc(var(--header) + 70px) var(--pad) 72px;}
.afzs-shero__inner {position:relative;z-index:2;max-width:900px;}
.afzs-shero__inner .afzs-h1 {margin-top:0;font-size:clamp(36px,4.3vw,62px);line-height:1.1;text-wrap:balance;}
.afzs-shero::after {background:linear-gradient(90deg,rgba(39,46,66,.9),rgba(39,46,66,.28));opacity:1;}
.afzs-shero__bg {background:#272e42;}
.afzs-actores {grid-template-columns:minmax(0,460px) minmax(0,674px);}
.afzs-actores__title {grid-column:1;grid-row:1;}
.afzs-actores__lista {grid-column:2;grid-row:1;}
.afzs-careers {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:60px;background:var(--ultra);padding:72px var(--pad) 84px;}
.afzs-careers .afzs-ofertas,.afzs-careers .afzs-form {padding:0;background:transparent;}
.afzs-careers .afzs-ofertas__inner,.afzs-careers .afzs-form__inner {display:block;padding:0;}
.afzs-careers .afzs-ofertas__title {font-size:clamp(30px,3vw,44px);line-height:1.15;letter-spacing:-.04em;margin:0 0 25px;}
.afzs-careers .afzs-lead {font-size:20px;line-height:1.5;letter-spacing:-.02em;}
.afzs-careers .afzs-form__card {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;width:100%;padding:30px;background:var(--white);border-radius:6px;}
.afzs-careers .afzs-form__title {grid-column:1/-1;margin:0 0 8px;font-size:26px;line-height:1.2;color:var(--navy);}
.afzs-careers .afzs-campo {margin:0;min-width:0;}
.afzs-careers .afzs-campo:has(textarea),.afzs-careers .afzs-campo:has(input[type=file]),.afzs-careers .afzs-form__pie,.afzs-careers form>p {grid-column:1/-1;}
.afzs-careers .afzs-campo input,.afzs-careers .afzs-campo select,.afzs-careers .afzs-campo textarea {width:100%;box-sizing:border-box;min-width:0;}
.afzs-careers .afzs-campo textarea {background:#fff;color:var(--navy);}
.afzs-careers .afzs-form__pie {flex-wrap:wrap;margin-top:8px;gap:20px;}
.afzs-areas .afzp-areas__card {display:block;min-height:0;}
.afzs-areas .afzs-areas__text:empty {display:none;}
.afzs-areas__nombre a {color:inherit;text-decoration:none;}
.afzs-areas__nombre a:hover {text-decoration:underline;}
.afzs-areas .afzs-areas__link {margin-top:20px;}
.afzs-areas .afzp-areas__media {display:block;}
@media(max-width:1100px){.afzs-careers{gap:30px;}.afzs-actores{grid-template-columns:1fr;}.afzs-actores__title,.afzs-actores__lista{grid-column:1;grid-row:auto;}}
@media(max-width:780px){.afzs-hero__head{padding-top:calc(var(--header) + 62px);padding-bottom:50px;}.afzs-shero{min-height:460px;padding:calc(var(--header) + 62px) var(--gut) 50px;}.afzs-careers{grid-template-columns:1fr;padding:44px var(--gut) 56px;gap:40px;}.afzs-careers .afzs-form__card{padding:24px 20px;}.afzs-actores__lista{margin-top:0;}}
@media(max-width:480px){.afzs-careers .afzs-form__card{grid-template-columns:1fr;}}
