.encabezado-compacto h1 {
  font-size: clamp(31px, 3vw, 43px);
}

.encabezado {
  margin-bottom: 36px;
}

.encabezado p {
  margin-top: 8px;
}

.sobre-mi {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}

.foto {
  position: relative;
  overflow: visible;
}

.foto img {
  width: 100%;
  aspect-ratio: 457 / 571;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 18px 38px var(--shadow-strong);
}

.foto .pie-foto {
  position: absolute;
  inset: auto 0 0;
  padding: 24px;
  color: var(--crema);
  background: linear-gradient(var(--transparent), var(--photo-shade));
  font-size: 15px;
}

.foto .pie-foto b {
  display: block;
  font-size: clamp(16px, 1.32vw, 19px);
  font-style: italic;
}

.insignia {
  position: absolute;
  right: -24px;
  bottom: -24px;
  width: clamp(80px, 7.5vw, 108px);
  height: clamp(80px, 7.5vw, 108px);
  background: var(--plum);
  color: var(--crema);
  display: grid;
  place-content: center;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
}

.insignia b {
  font-size: clamp(21px, 1.9vw, 27px);
}

.sobre-mi h2 {
  font-size: clamp(29px, 2.65vw, 38px);
  margin: 8px 0;
}

.sobre-mi p {
  margin-bottom: 14px;
  font-size: clamp(16px, 1.25vw, 18px);
}

.mision {
  background: var(--bg2);
  color: var(--ink);
  padding: 80px 24px;
}

.duo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 3.4vw, 48px);
  text-align: center;
  align-items: stretch;
}

.duo p {
  max-width: 520px;
  margin: 12px auto 0;
  font-size: clamp(17px, 1.46vw, 21px);
  line-height: 1.75;
}

.tarjeta-mision {
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--bg);
  box-shadow: 0 12px 28px var(--shadow-soft);
  transition: transform .25s ease, box-shadow .25s ease;
}

.tarjeta-mision:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 38px var(--shadow-strong);
}

html.animaciones-activas .tarjeta-mision:hover {
  transform: translate3d(0, -5px, 0);
}

.mision .titulo-mision {
  margin-bottom: 14px;
  color: var(--plum);
  font-size: clamp(28px, calc(3vw + 3px), 37px);
  letter-spacing: .02em;
}

.encabezado h2 {
  font-size: clamp(32px, 3.15vw, 45px);
}

.separador {
  margin-top: 36px;
}

.separador .caja {
  overflow: hidden;
  border-radius: 18px;
  padding: 28px;
  border-top: 4px solid var(--gold);
  background: var(--card);
  box-shadow: 0 12px 28px var(--shadow-soft);
  transition: transform .25s ease, box-shadow .25s ease;
}

.separador .tarjeta-valor img {
  display: block;
  width: calc(100% + 56px);
  max-width: none;
  aspect-ratio: 1024 / 448;
  margin: -28px -28px 22px;
  object-fit: cover;
}

.separador .caja:hover,
.tarjeta-formacion:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 38px var(--shadow-strong);
}

html.animaciones-activas .separador .caja.visible:hover,
html.animaciones-activas .tarjeta-formacion.visible:hover {
  transform: translate3d(0, -4px, 0);
}

.separador .caja:nth-child(4n + 1) { border-top-color: var(--plum); }
.separador .caja:nth-child(4n + 2) { border-top-color: var(--gold); }
.separador .caja:nth-child(4n + 3) { border-top-color: var(--wa); }
.separador .caja:nth-child(4n) { border-top-color: var(--banner-ring); }

.separador .caja h3 {
  margin-bottom: 12px;
  font-size: clamp(20px, 1.67vw, 24px);
}

.separador .caja p {
  font-size: clamp(16px, 1.32vw, 19px);
  line-height: 1.7;
}

.bloque {
  margin: 40px 0 16px;
  font-size: clamp(29px, calc(3vw + 3px), 35px);
  color: var(--ink);
}

.rejilla-formacion {
  margin-bottom: 28px;
}

.tarjeta-formacion {
  display: grid;
  align-content: start;
  gap: 14px;
  transition: transform .25s ease, box-shadow .25s ease;
}

@media (prefers-reduced-motion: reduce) {
  .tarjeta-mision,
  .tarjeta-mision:hover,
  .separador .caja,
  .separador .caja:hover,
  .tarjeta-formacion,
  .tarjeta-formacion:hover {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.tarjeta-formacion img {
  width: min(100%, 170px);
  height: 88px;
  object-fit: contain;
  object-position: left center;
  justify-self: start;
}

.tarjeta-formacion .nombre-formacion {
  color: var(--ink);
  font-size: clamp(17px, 1.4vw, 20px);
  font-weight: 700;
}

.tarjeta-formacion .lista-certificados {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 22px;
  color: var(--txt);
}

.tarjeta-formacion .lista-certificados li {
  padding-left: 3px;
  line-height: 1.55;
}

.ubicacion {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 2.8vw, 40px);
  align-items: center;
}

.ubicacion img {
  width: 100%;
  height: 348px;
  object-fit: cover;
}

.ubicacion > img {
  border-radius: 18px;
  box-shadow: 0 18px 38px var(--shadow-strong);
}

.ubicacion h2 {
  font-size: clamp(27px, 2.3vw, 33px);
  margin: 8px 0 14px;
}

.ubicacion p {
  margin-bottom: 20px;
  font-size: clamp(16px, 1.25vw, 18px);
}

@media (max-width: 760px) {
  .sobre-mi,
  .ubicacion,
  .duo {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .mision {
    padding: 48px 20px;
  }

  .duo p {
    font-size: clamp(16px, 4.5vw, 19px);
  }

  .encabezado h2 {
    font-size: clamp(30px, 8vw, 37px);
  }

  .separador .caja {
    padding: 22px;
  }

  .tarjeta-formacion img {
    object-position: left center;
    justify-self: start;
  }

  .insignia {
    right: 8px;
  }
}
