/* I&I LatAm 2026/2027 — Inventores de Chile
   Réplica estática del sitio WordPress (tema Labaid + Elementor). */

:root {
  --navy: #142441;
  --navy-2: #16233f;
  --azul: #0a6fa4;
  --celeste: #6ec1e4;
  --gris-txt: #7a7a7a;
  --gris-suave: #9aa5b3;
  --fondo-gris: #f7f7f7;
  --indigo: #4c5adc;
  --azul-rey: #1013b2;
  --oro: #dcd14c;
  --plata: #54595f;
  --bronce: #cd8841;
  --radio: 20px;
  --ancho: 1300px;
  --titulos: "Arimo", Arial, Helvetica, sans-serif;
  --texto: "Jost", "Helvetica Neue", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--texto);
  font-size: 16px;
  line-height: 1.875;
  color: var(--gris-txt);
  background: #fff;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color .2s, background-color .2s, opacity .2s, transform .2s; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--titulos);
  font-weight: 700;
  line-height: 1.333;
  color: var(--navy);
  margin: 0;
}
p { margin: 0 0 1.4em; }
p:last-child { margin-bottom: 0; }
svg.ic { width: 1em; height: 1em; fill: currentColor; flex: none; }
button, input, select, textarea { font: inherit; color: inherit; }

.contenedor { width: 100%; max-width: var(--ancho); margin: 0 auto; padding: 0 20px; }
.contenedor-ancho { width: 100%; max-width: 1340px; margin: 0 auto; padding: 0 20px; }
.centro { text-align: center; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.saltar { position: absolute; left: -999px; top: 8px; z-index: 200; background: var(--navy); color: #fff; padding: 8px 14px; border-radius: 6px; }
.saltar:focus { left: 8px; }
:focus-visible { outline: 2px solid var(--celeste); outline-offset: 2px; }

/* ───────── Cabecera ───────── */
.cabecera { position: relative; z-index: 50; background: #fff; }
.cabecera .contenedor-ancho { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 162px; padding-top: 20px; padding-bottom: 20px; }
.cabecera .logo img { width: 98px; height: auto; }
.menu-principal { flex: 1; display: flex; justify-content: center; }
.menu-principal ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; }
.menu-principal li { margin: 0 10px; }
.menu-principal a { display: block; font-weight: 500; font-size: 16px; line-height: 1.3; color: var(--navy); padding: 8px 0; position: relative; }
.menu-principal a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 2px; height: 2px; background: currentColor; transition: right .25s; }
.menu-principal a:hover::after, .menu-principal a[aria-current="page"]::after { right: 0; }
.cabecera .espaciador { width: 98px; flex: none; }
.btn-menu { display: none; background: none; border: 0; padding: 10px; margin-right: -10px; cursor: pointer; color: var(--navy); }
.btn-menu span { display: block; width: 26px; height: 2px; background: currentColor; margin: 6px 0; }

.cabecera--sobre-hero { position: absolute; left: 0; right: 0; top: 0; background: transparent; }
.cabecera--sobre-hero .contenedor-ancho { min-height: 140px; }
.cabecera--sobre-hero .menu-principal a, .cabecera--sobre-hero .btn-menu { color: #fff; }

/* Panel móvil */
.panel-menu { position: fixed; inset: 0; z-index: 120; visibility: hidden; }
.panel-menu .velo { position: absolute; inset: 0; background: rgba(10, 18, 34, .6); opacity: 0; transition: opacity .3s; }
.panel-menu .cajon {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(340px, 86vw);
  background: var(--navy); color: #fff; padding: 22px 26px 30px; overflow-y: auto;
  transform: translateX(100%); transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}
.panel-menu.abierto { visibility: visible; }
.panel-menu.abierto .velo { opacity: 1; }
.panel-menu.abierto .cajon { transform: none; }
.panel-menu .cerrar { background: none; border: 0; color: #fff; font-size: 34px; line-height: 1; cursor: pointer; float: right; padding: 4px 8px; margin: -4px -8px 0 0; }
.panel-menu .cajon img { width: 80px; margin-bottom: 26px; }
.panel-menu ul { list-style: none; margin: 0; padding: 0; clear: both; }
.panel-menu li a { display: block; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-weight: 500; font-size: 17px; }
.panel-menu li a:hover { color: var(--celeste); }

/* ───────── Botones ───────── */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; cursor: pointer; font-family: var(--texto); font-weight: 500; line-height: 1.2; text-align: center; }
.btn-hero { color: #fff; font-size: 13px; padding: 12px 32px; border-radius: 3px; }
.btn-hero:hover { transform: translateY(-2px); filter: brightness(1.1); }
.btn-morado { background: #8b5cf6; }
.btn-azulhero { background: #3764eb; }
.btn-azul { background: var(--azul); color: #fff; font-size: 15px; padding: 13px 30px; border-radius: 3px; }
.btn-azul:hover { background: #0b5687; }
.btn-gris { background: #eee; color: var(--navy); font-size: 14px; padding: 12px 22px; border-radius: 3px; }
.btn-gris:hover { background: var(--navy); color: #fff; }

/* ───────── Portada ───────── */
.hero { position: relative; min-height: 617px; overflow: hidden; color: #fff; display: flex; align-items: flex-end; background: #1d2536; }
.hero-fondo { position: absolute; inset: 0; background: url(../img/portada.jpg) center / cover no-repeat; transform-origin: center; animation: kenburns 10s ease-out forwards; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,36,65,.55) 0%, rgba(20,36,65,.25) 35%, rgba(20,36,65,.35) 100%); }
@keyframes kenburns { from { transform: scale(1); } to { transform: scale(1.15); } }
.hero-contenido { position: relative; z-index: 2; width: 100%; padding: 180px 20px 60px; text-align: center; }
.hero h1 { color: #fff; font-weight: 400; font-size: clamp(34px, 4.2vw, 50px); line-height: 1.15; text-transform: capitalize; margin: 0 auto 44px; max-width: 700px; text-shadow: 0 2px 18px rgba(0,0,0,.25); }
.hero .bajada { font-size: 14px; line-height: 1.6; max-width: 470px; margin: 0 auto 50px; text-shadow: 0 1px 8px rgba(0,0,0,.35); }
.hero .acciones { display: flex; gap: 32px; justify-content: center; flex-wrap: wrap; margin-bottom: 36px; }
.cifras { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1420px; margin: 0 auto; }
.cifra { text-align: center; line-height: 1.05; }
.cifra strong { display: block; font-family: var(--titulos); font-size: 30px; font-weight: 700; }
.cifra span { font-family: var(--titulos); font-size: 15px; color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,.4); }
.cifra strong { color: #9a6cf6; }
.cifra:first-child strong, .cifra:last-child strong { color: #5bc2f2; }

/* ───────── Bloques "Sobre" ───────── */
.sobre { padding: 88px 0 20px; }
.sobre + .sobre { padding-top: 60px; }
.sobre .fila { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.sobre .fila--arriba { align-items: start; }
.sobre .imagen { display: flex; justify-content: center; }
.sobre .imagen img { max-width: 452px; width: 100%; }
.etiqueta { display: flex; align-items: center; gap: 10px; color: var(--navy); font-family: var(--titulos); font-size: 16px; line-height: 1.2; margin-bottom: 18px; }
.etiqueta::before { content: ""; width: 8px; height: 16px; background: var(--azul); }
.sobre h2 { font-size: clamp(30px, 3.4vw, 46px); margin-bottom: 26px; }
.justificado { text-align: justify; }
.sobre .texto { font-size: 16px; line-height: 1.875; }
.rasgos { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 0; margin-top: 44px; }
.rasgo { display: flex; align-items: center; gap: 26px; padding: 0 16px 0 6px; border-right: 1px solid #eee; }
.rasgo img { width: 76px; height: 76px; object-fit: contain; flex: none; }
.rasgo h3 { font-size: 18px; line-height: 1.45; }
.rasgo p { font-size: 16px; color: var(--gris-suave); margin: 2px 0 0; line-height: 1.4; }

/* ───────── Cumbre ───────── */
.cumbre { position: relative; background: #fff url(../img/curva.png) center center / cover no-repeat; color: #fff; padding: 120px 0 84px; text-align: center; }
.cumbre h2 { color: #fff; font-size: clamp(30px, 3.4vw, 46px); line-height: 1.05; max-width: 820px; margin: 0 auto 32px; }
.cumbre .lead { font-weight: 300; font-size: 22px; line-height: 1.55; max-width: 800px; margin: 0 auto 18px; }
.cumbre .lead2 { font-weight: 300; font-size: 20px; line-height: 1.55; max-width: 780px; margin: 0 auto 36px; }
.tarjetas-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.tarjeta-icono { border-radius: var(--radio); padding: 16px 18px 18px; text-align: center; }
.tarjeta-icono .ic { font-size: 50px; margin: 0 auto 14px; display: block; }
.tarjeta-icono h3 { font-size: 24px; color: inherit; margin-bottom: 12px; line-height: 1.2; }
.tarjeta-icono p { font-weight: 600; font-size: 16px; line-height: 1.875; margin: 0; }
.cumbre .tarjeta-icono { background: var(--plata); color: #fff; }
.cumbre .tarjeta-icono .ic { color: #fff; }

/* ───────── Categorías ───────── */
.categorias { background: #ddf1f9; padding: 50px 0 84px; text-align: center; }
.titulo-seccion { font-size: clamp(30px, 3.4vw, 46px); margin-bottom: 14px; }
.sub-seccion { font-size: 22px; line-height: 1.55; font-weight: 400; color: #54595f; max-width: 800px; margin: 0 auto 40px; }
.categorias .tarjetas-3 { row-gap: 66px; }
/* «Puedes participar con»: las dos modalidades, invento (con patente) o innovación (sin ella). */
.modalidades { max-width: 900px; margin: -12px auto 56px; }
.modalidades-intro { font-size: 18px; font-weight: 600; color: var(--navy); margin: 0 0 16px; }
.modalidades-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; text-align: left; }
.modalidades-lista li { display: flex; align-items: flex-start; gap: 14px; background: #fff; border-radius: var(--radio); padding: 20px 22px; }
.modalidades-lista .letra { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--azul-rey); color: #fff; font-weight: 700; font-size: 15px; }
.modalidades-lista p { margin: 0; font-size: 16px; line-height: 1.6; color: #54595f; }
.modalidades-lista strong { color: var(--navy); }
@media (max-width: 767px) {
  .modalidades { margin-bottom: 44px; }
  .modalidades-lista { grid-template-columns: 1fr; gap: 14px; }
  .modalidades-lista li { padding: 16px 18px; }
}
.categorias .tarjeta-icono { background: #fff; color: #000; box-shadow: 0 0 0 rgba(0,0,0,0); transition: transform .25s, box-shadow .25s; }
.categorias .tarjeta-icono:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(20,36,65,.12); }
.categorias .tarjeta-icono h3 { color: #000; text-shadow: 0 0 10px rgba(0,0,0,.3); }
.categorias .tarjeta-icono p { color: #54595f; font-size: 16px; }

/* ───────── Cómo participar ───────── */
.oscuro { background: var(--navy) url(../img/fondo-oscuro.jpg) center / cover no-repeat; background-attachment: fixed; color: #fff; }
.pasos-sec { padding: 103px 0 99px; text-align: center; }
.oscuro .titulo-seccion { color: #fff; font-size: 28px; margin-bottom: 10px; }
.oscuro .sub-seccion { color: var(--gris-suave); font-size: 16px; line-height: 1.45; max-width: 590px; margin-bottom: 56px; font-weight: 400; }
.pasos { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 30px; }
.pasos::before { content: ""; position: absolute; left: 8.333%; right: 8.333%; top: 34px; height: 125px; background: url(../img/linea-pasos-6.svg) center / 100% 100% no-repeat; opacity: .5; pointer-events: none; }
.paso { position: relative; }
.paso:nth-child(odd) { margin-top: 100px; }
.paso .circulo { position: relative; width: min(196px, 100%); aspect-ratio: 1; margin: 0 auto 26px; border-radius: 50%; background: rgba(255,255,255,.08); padding: 20px; }
.paso .circulo img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.paso .num { position: absolute; top: 10px; right: 12px; width: 50px; height: 50px; border-radius: 50%; background: var(--azul); color: #fff; font-family: var(--titulos); font-weight: 700; font-size: 16px; display: grid; place-items: center; }
.paso h3 { color: #fff; font-size: 24px; margin-bottom: 10px; }
.paso p { color: var(--gris-suave); font-size: 16px; line-height: 1.45; max-width: 290px; margin: 0 auto; }
.paso p + p { margin-top: 10px; }
.paso p strong { color: #fff; font-weight: 600; white-space: nowrap; }
.paso .costo { color: #fff; }
.quienes { margin-top: 70px; }
.quienes h2 { color: #fff; font-size: 28px; margin-bottom: 8px; }
.quienes > p { color: var(--gris-suave); margin-bottom: 36px; }
.pildoras { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.pildora { display: flex; align-items: center; gap: 12px; background: #fff; border-radius: 40px; padding: 8px 14px; color: #000; font-family: var(--titulos); font-weight: 700; font-size: 18px; line-height: 1.2; }
.pildora .ic { color: var(--azul-rey); font-size: 26px; }
.pildora span { flex: 1; text-align: center; }

/* ───────── Calendario ───────── */
.calendario { background: var(--fondo-gris); padding: 100px 0 92px; }
.calendario .titulo-seccion, .premios .titulo-seccion { font-size: 28px; text-align: center; margin-bottom: 8px; }
.calendario .sub-seccion, .premios .sub-seccion { font-size: 16px; line-height: 1.45; color: var(--gris-suave); max-width: 600px; margin: 0 auto 40px; text-align: center; }
.linea-tiempo { position: relative; padding: 44px 0; }
.linea-tiempo::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; margin-left: -2px; background: #d5d5d5; border-radius: 2px; }
.linea-tiempo::after, .linea-tiempo ol::before { content: ""; position: absolute; left: 50%; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: #d5d5d5; }
.linea-tiempo::after { bottom: -4px; }
.linea-tiempo ol::before { top: -4px; }
.linea-tiempo ol { list-style: none; margin: 0; padding: 0; }
.hito { position: relative; display: grid; grid-template-columns: 1fr 96px 1fr; align-items: center; margin-bottom: 60px; }
.hito:last-child { margin-bottom: 0; }
.hito .reloj { grid-column: 2; grid-row: 1; justify-self: center; width: 50px; height: 50px; border-radius: 50%; background: var(--celeste); color: #fff; display: grid; place-items: center; box-shadow: 0 0 0 4px #e3e3e3; position: relative; z-index: 1; }
.hito .reloj .ic { font-size: 24px; }
.hito .fecha { grid-row: 1; }
.hito .fecha strong { display: block; font-weight: 600; font-size: 23px; line-height: 1.2; color: var(--celeste); }
.hito .fecha span { display: block; color: #54595f; font-size: 16px; line-height: 1.5; }
.hito .caja { grid-row: 1; position: relative; background: #fff; padding: 16px 16px 26px; box-shadow: 0 2px 6px rgba(0,0,0,.12); border-radius: 3px; color: #54595f; font-size: 16px; line-height: 1.6; }
.hito .caja::before { content: ""; position: absolute; top: 18px; width: 12px; height: 12px; background: #fff; transform: rotate(45deg); }
.hito:nth-child(odd) .fecha { grid-column: 1; text-align: right; }
.hito:nth-child(odd) .caja { grid-column: 3; border-left: 3px solid var(--celeste); }
.hito:nth-child(odd) .caja::before { left: -8px; border-left: 3px solid var(--celeste); border-bottom: 3px solid var(--celeste); }
.hito:nth-child(even) .fecha { grid-column: 3; }
.hito:nth-child(even) .caja { grid-column: 1; text-align: right; border-right: 3px solid var(--celeste); }
.hito:nth-child(even) .caja::before { right: -8px; border-right: 3px solid var(--celeste); border-top: 3px solid var(--celeste); }
.calendario .cta { text-align: center; margin-top: 8px; }
.btn-rey { background: var(--azul-rey); color: #fff; font-size: 14px; padding: 10px 24px; border-radius: 0; }
.btn-rey:hover { background: #0b0d85; }

/* ───────── Premios ───────── */
.premios { background: var(--fondo-gris); padding: 110px 0 66px; }
.premios .tarjetas-3 { margin-top: 110px; }
.premios .tarjeta-icono { color: #fff; }
.premios .tarjeta-icono h3 { text-shadow: 0 0 10px rgba(0,0,0,.2); }
.premios .tarjeta-icono p { font-size: 16px; line-height: 1.875; }
.premio-oro { background: var(--oro); }
.premio-oro .ic { color: #fff30b; }
.premio-plata { background: var(--plata); }
.premio-plata .ic { color: #a4a4a4; }
.premio-bronce { background: var(--bronce); }
.premio-bronce .ic { color: #ff8200; }
.premio-platino { background: var(--indigo); margin-top: 67px; }
.premio-platino .ic { color: #fff; }

/* ───────── Auspiciadores ───────── */
.auspicios { padding: 40px 0 50px; text-align: center; }
.auspicios .titulo-seccion { font-size: 28px; margin-bottom: 20px; }
.auspicios .sub-seccion { font-size: 16px; color: var(--gris-suave); margin-bottom: 40px; }
.carrusel { position: relative; max-width: 1180px; margin: 0 auto; padding: 0 62px; }
.carrusel .pista { display: flex; gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 4px 2px 10px; }
.carrusel .pista::-webkit-scrollbar { display: none; }
.logo-aus { flex: 0 0 calc((100% - 4 * 28px) / 5); scroll-snap-align: start; text-align: center; }
.logo-aus .marco { aspect-ratio: 1; border: 1px solid #f1f1f1; border-radius: 10px; display: grid; place-items: center; padding: 4px; background: #fff; }
.logo-aus img { width: 100%; height: 100%; object-fit: contain; opacity: .45; filter: saturate(.6); transition: opacity .3s, filter .3s; }
.logo-aus:hover img { opacity: 1; filter: none; }
.logo-aus .url { display: block; margin-top: 6px; font-size: 16px; color: var(--navy); white-space: nowrap; overflow: hidden; text-overflow: clip; }
.logo-aus a.url:hover { color: var(--azul); }
.carrusel .flecha { position: absolute; top: calc(50% - 40px); width: 44px; height: 60px; background: none; border: 0; cursor: pointer; color: #e0e0e0; font-size: 42px; padding: 0; display: grid; place-items: center; }
.carrusel .flecha:hover { color: var(--navy); }
.carrusel .prev { left: 4px; }
.carrusel .next { right: 4px; }
.puntos { display: flex; justify-content: center; gap: 4px; margin-top: 60px; }
.puntos button { flex: none; width: 24px; height: 24px; border: 0; background: none; padding: 0; cursor: pointer; display: grid; place-items: center; }
.puntos button::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #ccc; }
.puntos button[aria-current="true"]::before { background: #000; }
.cta-auspicio { background: var(--indigo); border-radius: var(--radio); color: #fff; padding: 30px 20px 25px; margin-top: 60px; text-align: center; }
.cta-auspicio h3 { color: #fff; font-size: 24px; margin-bottom: 14px; }
.cta-auspicio p { font-weight: 600; font-size: 16px; margin: 0 0 22px; line-height: 1.875; }
.btn-blanco { background: #fff; color: var(--azul-rey); font-weight: 700; font-size: 14px; padding: 12px 24px; border-radius: 5px; }
.btn-blanco:hover { background: var(--azul-rey); color: #fff; }

/* ───────── Por qué participar ───────── */
.porque { padding: 103px 0 99px; text-align: center; }
.porque .tarjetas-3 { row-gap: 66px; }
.porque .tarjeta-icono { background: rgba(154,165,179,.41); color: #fff; border: 2px solid rgba(154,165,179,.4); padding: 24px 20px 26px; transition: transform .25s, background-color .25s; }
.porque .tarjeta-icono:hover { transform: translateY(-4px); background: rgba(154,165,179,.55); }
.porque .tarjeta-icono p { color: #e6ebf2; font-weight: 500; }
/* Vitrina permanente: tarjeta a lo ancho entre el subtítulo y las seis ventajas, destacada con borde celeste. */
.porque .vitrina { display: flex; align-items: center; gap: 26px; max-width: 1000px; margin: 0 auto 56px; padding: 28px 34px; text-align: left; color: #fff; background: rgba(110,193,228,.16); border: 2px solid rgba(110,193,228,.55); border-radius: var(--radio); }
.porque .vitrina .ic { flex: none; font-size: 58px; color: var(--celeste); }
.porque .vitrina h3 { font-size: 24px; color: inherit; margin: 0 0 8px; line-height: 1.2; }
.porque .vitrina p { margin: 0; font-size: 17px; line-height: 1.75; font-weight: 500; color: #e6ebf2; }

/* ───────── Noticias ───────── */
.noticias-home { padding: 111px 0 120px; }
.noticias-home .cabeza { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 50px; }
.noticias-home h2 { font-size: 28px; }
.ver-todo { display: inline-flex; align-items: center; gap: 6px; color: var(--gris-suave); }
.ver-todo:hover { color: var(--navy); }
.grilla-noticias { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: start; }
.tarjeta-noticia { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 6px 24px rgba(20,36,65,.08); }
.tarjeta-noticia .foto { display: block; aspect-ratio: 16 / 11; overflow: hidden; }
.tarjeta-noticia .foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.tarjeta-noticia:hover .foto img { transform: scale(1.06); }
.tarjeta-noticia .cuerpo { padding: 28px 30px 30px; }
.tarjeta-noticia time { display: block; color: var(--navy); font-size: 14px; line-height: 1.2; margin-bottom: 14px; }
.tarjeta-noticia h3 { font-size: 20px; line-height: 1.5; margin-bottom: 18px; text-transform: capitalize; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tarjeta-noticia h3 a:hover { color: var(--azul); }
.tarjeta-noticia p { color: var(--gris-suave); margin-bottom: 22px; }

/* ───────── Contacto ───────── */
.contacto { padding: 100px 0 90px; }
.contacto .fila { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.contacto .info { text-align: center; padding-top: 10px; }
.contacto .info h2 { color: #fff; font-size: clamp(34px, 3.4vw, 46px); margin-bottom: 44px; }
.contacto .info > p { color: var(--gris-suave); font-size: 20px; line-height: 1.15; max-width: 560px; margin: 0 auto 40px; }
.datos { list-style: none; margin: 0 auto; padding: 0; text-align: left; max-width: 500px; }
.datos li { display: flex; align-items: center; gap: 16px; margin-bottom: 26px; }
.datos .ic { font-size: 40px; color: var(--celeste); }
.datos h3 { color: #fff; font-size: 20px; line-height: 1.2; }
.datos p, .datos a { color: var(--gris-suave); font-size: 17px; margin: 0; line-height: 1.4; }
.datos a:hover { color: #fff; }
.contacto h4 { color: #fff; font-size: 20px; margin: 60px 0 20px; }
.redes { display: flex; gap: 5px; justify-content: center; }
.redes a { width: 50px; height: 50px; border-radius: 5px; display: grid; place-items: center; color: #fff; font-size: 25px; }
.redes a:hover { transform: translateY(-3px); }
.red-fb { background: #3b5998; }
.red-in { background: #0077b5; }
.red-ig { background: #d70707; }
.caja-form { background: rgba(154,165,179,.41); border-radius: var(--radio); padding: 20px 20px 36px; }
.caja-form h2 { color: #fff; font-size: 28px; margin-bottom: 10px; }
.campo { margin-bottom: 26px; }
.campo label { display: block; font-size: 12px; font-weight: 600; color: var(--gris-suave); margin-bottom: 4px; line-height: 1.3; }
.campo label b { color: #d70707; }
.campo input, .campo textarea { width: 100%; background: #f5f5f5; border: 1px solid transparent; border-radius: 0; padding: 8px 12px; min-height: 42px; color: #222; font-size: 15px; }
.campo input:focus, .campo textarea:focus { outline: none; border-color: var(--celeste); background: #fff; }
.campo textarea { height: 150px; resize: vertical; }
.contador { display: block; text-align: right; font-size: 12px; color: var(--gris-suave); line-height: 1; margin: -2px 0 6px; }
.campo.error input, .campo.error textarea { border-color: #e74c3c; }
.msg-error { color: #ffb3a7; font-size: 13px; margin-top: 4px; display: none; }
.campo.error .msg-error { display: block; }
.btn-enviar { background: #eee; color: var(--navy); font-weight: 500; font-size: 14px; padding: 12px 30px; border-radius: 0; margin-top: 84px; }
.btn-enviar:hover { background: var(--navy); color: #fff; }
.btn-enviar[disabled] { opacity: .6; cursor: wait; }
.aviso-form { margin-top: 18px; padding: 12px 16px; border-radius: 6px; font-size: 15px; line-height: 1.5; display: none; }
.aviso-form.ok { display: block; background: #e8f7ee; color: #185c33; }
.aviso-form.mal { display: block; background: #fdecea; color: #8a1f14; }

/* ───────── Pie ───────── */
.pie { background: var(--navy-2); color: #fff; border-top: 5px solid var(--azul); }
.pie .columnas { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,.8fr); gap: 48px; padding: 72px 0 60px; align-items: start; }
.pie .marca img { width: 118px; max-width: 100%; margin: 0 0 22px; }
.pie .marca p { font-size: 15px; line-height: 1.7; color: #c9d2de; max-width: 330px; margin: 0; }
.pie h2 { position: relative; color: #fff; font-size: 17px; line-height: 1.4; margin: 6px 0 22px; padding-bottom: 12px; }
.pie h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 28px; height: 2px; background: var(--celeste); }
.pie ul { list-style: none; margin: 0; padding: 0; }
.pie .menu-pie li { margin-bottom: 6px; line-height: 1.5; }
.pie .menu-pie a, .lista-cat a, .pie .contacto-pie a { display: inline-block; padding: 3px 0; }
.pie .menu-pie a:hover, .pie .contacto-pie a:hover, .pie .redes-pie a:hover { color: var(--celeste); }
.pie .contacto-pie li { margin: 0 0 12px; display: flex; gap: 10px; align-items: center; line-height: 1.5; overflow-wrap: anywhere; }
.pie .contacto-pie .ic { font-size: 18px; color: var(--celeste); }
.pie .redes-pie li { margin-bottom: 10px; line-height: 1.5; }
.pie .redes-pie a { display: inline-flex; align-items: center; gap: 10px; padding: 3px 0; }
.pie .redes-pie .ic { font-size: 17px; color: var(--celeste); }
/* margen a los lados: el selector de idioma (izq.) y el botón subir (der.) son fijos y no deben taparlo */
.pie .creditos { border-top: 1px solid rgba(255,255,255,.1); text-align: center; padding: 22px 180px; font-size: 13px; letter-spacing: .04em; color: #9fb0c4; line-height: 1.6; }
.pie .creditos a { color: #fff; }
.pie .creditos a:hover { color: var(--celeste); }

/* Volver arriba */
.arriba { position: fixed; right: 15px; bottom: 82px; width: 50px; height: 50px; border-radius: 10px; border: 0; background: var(--azul); color: #fff; display: grid; place-items: center; cursor: pointer; z-index: 60; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .3s, transform .3s, visibility .3s; box-shadow: 0 8px 18px rgba(14,107,168,.35); }
.arriba.visible { opacity: 1; visibility: visible; transform: none; }
.arriba:hover { background: var(--navy); }

/* Selector de idioma (Google Translate, como GTranslate) */
.idioma { position: fixed; left: 25px; bottom: 20px; z-index: 70; font-family: Arial, sans-serif; }
.idioma > button { display: flex; align-items: center; gap: 10px; background: #fff; border: 0; box-shadow: 0 0 10px rgba(0,0,0,.2); padding: 11px 16px; cursor: pointer; font-weight: 700; font-size: 20px; color: #444; line-height: 1; }
.idioma > button .flecha-id { width: 10px; height: 10px; border-left: 2px solid #666; border-top: 2px solid #666; transform: rotate(45deg); margin-top: 5px; transition: transform .2s; }
.idioma.abierto > button .flecha-id { transform: rotate(225deg); margin-top: -4px; }
.idioma ul { position: absolute; bottom: 100%; left: 0; min-width: 100%; list-style: none; margin: 0 0 6px; padding: 6px 0; background: #fff; box-shadow: 0 0 10px rgba(0,0,0,.2); display: none; }
.idioma.abierto ul { display: block; }
.idioma li button { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: 0; padding: 7px 16px; cursor: pointer; font-size: 15px; color: #444; text-align: left; white-space: nowrap; }
.idioma li button:hover, .idioma li button[aria-current="true"] { background: #f0f3f8; }
.bandera { width: 32px; height: 22px; flex: none; box-shadow: 0 0 1px rgba(0,0,0,.3); }
.idioma li .bandera { width: 26px; height: 18px; }
/* Oculta la barra de Google Translate */
.goog-te-banner-frame, .skiptranslate > iframe, #goog-gt-tt, .goog-te-balloon-frame { display: none !important; }
body { top: 0 !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }
#google_translate_element { display: none; }

/* ───────── Páginas interiores ───────── */
.titulo-pagina { background: #f4f5f7 url(../img/titulo-pagina.jpg) center / cover no-repeat; padding: 98px 0 95px; }
.titulo-pagina .contenedor-ancho { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.titulo-pagina h1 { font-size: clamp(32px, 3.6vw, 50px); line-height: 1.15; max-width: 600px; }
.migas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-weight: 500; color: var(--navy); font-size: 16px; line-height: 1.4; }
.migas a { padding: 2px 0; display: inline-block; }
.migas a:hover { color: var(--azul); }
.migas .actual { color: var(--azul); }
.migas .sep { font-size: 11px; }

.nota { padding: 120px 0 90px; }
.nota .contenedor { max-width: 1020px; }
.nota .destacada { border-radius: 10px; overflow: hidden; margin-bottom: 26px; }
.nota .destacada img { width: 100%; }
.nota .contenido { font-size: 18px; line-height: 1.75; color: var(--gris-suave); }
.nav-notas { display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid #eee; margin-top: 150px; padding-top: 26px; }
.nav-notas a { display: flex; align-items: center; gap: 30px; flex: 0 1 50%; min-width: 0; }
.nav-notas a > span:not(.caja-flecha) { min-width: 0; }
.nav-notas .ant + .sig { margin-left: 0; }
.nav-notas .sig { margin-left: auto; text-align: right; }
.nav-notas small { display: block; color: var(--gris-suave); font-size: 15px; line-height: 1.3; }
.nav-notas strong { display: block; font-family: var(--titulos); color: var(--navy); font-size: 20px; line-height: 1.4; text-transform: capitalize; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.nav-notas .caja-flecha { width: 60px; height: 40px; flex: none; background: #f4f4f4; display: grid; place-items: center; color: var(--navy); font-size: 22px; transition: background-color .2s, color .2s; }
.nav-notas a:hover .caja-flecha { background: var(--navy); color: #fff; }

.blog { padding: 120px 0; }
.blog .fila { display: grid; grid-template-columns: minmax(0, 1fr) 307px; gap: 22px; align-items: start; }
.entrada { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 6px 24px rgba(20,36,65,.07); margin-bottom: 30px; }
.entrada .foto { display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.entrada .foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.entrada:hover .foto img { transform: scale(1.04); }
.entrada .cuerpo { padding: 26px 30px 30px; }
.entrada .meta { font-size: 14px; line-height: 1.2; color: var(--navy); margin-bottom: 12px; }
.entrada .meta .autor { color: var(--azul); }
.entrada .meta .sep { margin: 0 12px; color: #999; }
.entrada h2 { font-size: 32px; line-height: 1.333; margin-bottom: 20px; text-transform: capitalize; }
.entrada h2 a:hover { color: var(--azul); }
.entrada p { color: var(--gris-suave); margin-bottom: 24px; }
.entrada .btn-gris { padding: 16px 42px; }
.sin-resultados { padding: 40px 30px; background: #f7f7f7; border-radius: 10px; color: var(--navy); display: none; }
.lateral .widget { background: #f4f5f7; border-radius: 10px; padding: 50px 30px 42px; margin-bottom: 30px; }
.lateral h2 { font-size: 20px; line-height: 1.5; margin-bottom: 18px; }
.buscador { display: flex; background: #fff; box-shadow: 0 2px 10px rgba(20,36,65,.06); border-radius: 3px; }
.buscador input { flex: 1; min-width: 0; border: 0; background: none; padding: 14px 18px; font-size: 13px; color: var(--navy); }
.buscador input:focus { outline: none; }
.buscador button { border: 0; background: none; padding: 0 18px; cursor: pointer; color: var(--navy); font-size: 13px; }
.lista-cat { list-style: none; margin: 0; padding: 0; }
.lista-cat li { margin-bottom: 14px; }
.lista-cat a { color: var(--gris-suave); }
.lista-cat a:hover, .lista-cat a[aria-current="page"] { color: var(--azul); }

/* Pago */
.pago { position: relative; background: #fff url(../img/curva.png) center center / cover no-repeat; color: #fff; text-align: center; padding: 120px 0 54px; margin-top: 50px; }
.pago h1 { color: #fff; font-size: clamp(34px, 4vw, 50px); line-height: 1.2; margin-bottom: 18px; }
.pago p { font-weight: 300; font-size: 20px; margin-bottom: 44px; }
.pago .opciones { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.pago .btn-azul { font-size: 15px; padding: 13px 30px; }
.pago-aviso { max-width: 720px; margin: 0 auto; padding: 30px 20px 90px; text-align: center; color: var(--gris-txt); }
.pago-aviso a { color: var(--azul); text-decoration: underline; text-underline-offset: 3px; }
.pago .opciones button.btn-azul { cursor: default; }

/* Brochure de preclasificación (se muestra al enviar la postulación) */
/* curva.png (1920×629, transparente bajo el arco) va pegada abajo a todo el ancho: mide 32.76vw y el
   arco blanco sube ~14vw. Sobre ella, navy liso; así el título largo nunca queda sobre el arco. */
.pago.pago--brochure { background: url(../img/curva.png) center bottom / 100% auto no-repeat, linear-gradient(var(--navy), var(--navy)) center top / 100% calc(100% - 32vw) no-repeat, #fff; padding-bottom: calc(14vw + 56px); }
.pago--brochure h1 { max-width: 820px; margin-inline: auto; }
.pago--brochure p { max-width: 700px; margin-inline: auto; margin-bottom: 0; }
.pago .pago-sello { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; padding: 6px 16px; border-radius: 999px; background: rgba(110,193,228,.16); color: var(--celeste); font-size: 14px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
.pago-sello .ic { font-size: 16px; }
.brochure { padding: 10px 0 90px; }
.brochure .contenedor { max-width: 980px; }
.brochure-t { font-size: clamp(24px, 2.6vw, 30px); margin: 56px 0 22px; text-align: center; }
.brochure-bajada { text-align: center; margin: -12px 0 26px; }
.pasos-b { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; counter-reset: paso; }
.pasos-b li { position: relative; counter-increment: paso; padding: 58px 20px 22px; border-radius: var(--radio); background: var(--fondo-gris); border: 1px solid #e6e9ee; line-height: 1.6; }
.pasos-b li::before { content: counter(paso); position: absolute; left: 20px; top: 18px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #fff; border: 1px solid #cfd6df; color: var(--navy); font: 700 14px/1 var(--titulos); }
.pasos-b b { display: block; margin-bottom: 6px; color: var(--navy); font-family: var(--titulos); font-size: 17px; }
.pasos-b span { font-size: 15px; }
.pasos-b .hecho::before { content: "✓"; background: var(--azul); border-color: var(--azul); color: #fff; }
.pasos-b .actual { background: var(--navy); border-color: var(--navy); color: #cfd8e6; }
.pasos-b .actual b { color: #fff; }
.pasos-b .actual::before { background: var(--celeste); border-color: var(--celeste); }
.pasos-b .actual::after { content: "En curso"; position: absolute; right: 16px; top: 22px; font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--celeste); }
.valores-b { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.valor-b { display: flex; flex-direction: column; align-items: flex-start; padding: 30px 30px 32px; border-radius: var(--radio); border: 1px solid #e0e5ec; background: #fff; box-shadow: 0 18px 40px -28px rgba(20,36,65,.45); line-height: 1.65; }
.valor-b h3 { margin: 0; font-size: 20px; }
.valor-b .monto { margin: 8px 0 12px; color: var(--navy); font: 700 48px/1.1 var(--titulos); }
.valor-b .monto small { font-size: 18px; color: var(--azul); vertical-align: 18px; margin-right: 2px; }
.valor-b .btn { margin-top: auto; }
.valor-b p + .btn { margin-top: 20px; }
.convenios-b { margin-top: 10px; padding: 6px 34px 30px; border-radius: var(--radio); background: var(--fondo-gris); text-align: center; }
.convenios-b .brochure-t { margin-top: 36px; }
.convenios-b p { max-width: 720px; margin: 0 auto; }
.acciones-b { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 44px; }
.acciones-b button.btn { cursor: default; }
.btn-linea { font-size: 15px; padding: 12px 30px; border-radius: 3px; border: 1px solid #c9d1dc; color: var(--navy); background: #fff; }
.btn-linea:hover { border-color: var(--navy); }
.btn .ic { font-size: 18px; }
@media (max-width: 900px) {
  .pasos-b { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .pago.pago--brochure { padding: 70px 0 calc(14vw + 40px); }
  .pasos-b, .valores-b { grid-template-columns: 1fr; }
  .valor-b { padding: 26px 22px 28px; }
  .convenios-b { padding: 4px 20px 24px; }
  .acciones-b .btn { width: 100%; }
}

/* Postulación */
.postula { background: #0b2250 url(../img/fondo-formulario.jpg) center top / cover no-repeat; color: #fff; padding: 36px 0 40px; }
.postula .intro { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; max-width: 1160px; margin: 0 auto; padding: 0 20px; }
.postula .etiqueta { color: #fff; text-transform: uppercase; }
.postula h1 { color: #fff; font-size: clamp(34px, 3.4vw, 46px); line-height: 1.2; margin-bottom: 42px; max-width: 520px; }
.postula .raya { width: 275px; max-width: 60%; height: 1px; background: #c9a227; margin-bottom: 40px; }
.postula .intro p { font-size: 16px; line-height: 1.875; max-width: 540px; }
.beneficios { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 20px; }
.beneficios li { display: flex; align-items: center; gap: 16px; background: rgba(255,255,255,.2); border-radius: var(--radio); padding: 10px 20px 12px 10px; }
.beneficios .ic { font-size: 50px; flex: none; }
.beneficios h3 { color: #fff; font-size: 28px; line-height: 1.3; }
.beneficios p { margin: 0 !important; font-size: 16px; }
.respaldo { text-align: right; }
.respaldo h2 { color: #fff; font-size: 24px; margin-bottom: 14px; }
.respaldo .logos { display: inline-grid; grid-template-columns: repeat(3, 1fr); align-items: center; gap: 6px; background: rgba(255,255,255,.7); border-radius: 40px; padding: 18px 6px; width: min(100%, 452px); }
.respaldo .logos img { width: 100%; height: 96px; object-fit: contain; }
.formulario { max-width: 1180px; margin: 80px auto 0; padding: 0 20px; }
.formulario > h2 { color: #fff; text-align: center; font-size: 32px; margin-bottom: 10px; }
.formulario h3 { color: #fff; font-size: 32px; margin: 30px 0 20px; }
.formulario h4 { color: #fff; font-size: 28px; margin: -10px 0 24px; }
.formulario .grupo { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 30px; }
.formulario .grupo-3 { grid-template-columns: repeat(3, 1fr); }
/* en tablet la fila de 3 no cabe: el correo va a lo ancho y año + web debajo, así ningún rótulo se parte */
@media (min-width: 768px) and (max-width: 1100px) {
  .formulario .grupo-3 { grid-template-columns: repeat(2, 1fr); }
  .formulario .grupo-3 > :first-child { grid-column: 1 / -1; }
}
.f-campo { margin-bottom: 30px; }
.f-campo label, .f-campo .rotulo { display: block; font-size: 16px; line-height: 1.5; margin-bottom: 10px; }
.f-campo label b { color: #ffb3a7; }
.f-campo input, .f-campo textarea, .f-campo select { width: 100%; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.45); border-radius: 8px; color: #fff; padding: 10px 16px; min-height: 64px; font-size: 16px; }
.f-campo input::placeholder { color: rgba(255,255,255,.55); }
.f-campo textarea { height: 150px; resize: vertical; }
.f-campo select { min-height: 48px; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23fff' stroke-width='2' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 12px; padding-right: 40px; }
.f-campo select option { color: #142441; background: #fff; }
.f-campo input:focus, .f-campo textarea:focus, .f-campo select:focus { outline: none; border-color: #fff; background-color: rgba(255,255,255,.14); }
.f-campo.error input, .f-campo.error select { border-color: #ff8a7a; }
.f-campo .msg-error { color: #ffb3a7; }
.f-campo.error .msg-error { display: block; }
/* Invento o Innovación: dos opciones excluyentes, a lo ancho en el teléfono. */
.f-opciones { border: 0; padding: 0; min-width: 0; }
.f-opciones legend { padding: 0; font-size: 16px; line-height: 1.5; margin-bottom: 4px; }
.f-opciones legend b { color: #ffb3a7; }
.f-ayuda { margin: 0 0 12px; font-size: 14px; color: rgba(255,255,255,.8); }
.f-opciones .opciones { display: grid; grid-template-columns: repeat(2, minmax(0, 220px)); gap: 14px; }
.f-campo .opcion { display: flex; align-items: center; gap: 12px; margin: 0; cursor: pointer;
  min-height: 56px; padding: 10px 16px; border: 1px solid rgba(255,255,255,.45); border-radius: 8px;
  background: rgba(255,255,255,.07); font-weight: 600; transition: background-color .15s, border-color .15s; }
.f-campo .opcion input { width: 20px; height: 20px; min-height: 0; margin: 0; padding: 0; flex: none; accent-color: #5a8dee; cursor: pointer; }
.f-campo .opcion:hover { background: rgba(255,255,255,.14); }
.f-campo .opcion:has(input:checked) { border-color: #fff; background: rgba(255,255,255,.2); }
.f-campo .opcion:has(input:focus-visible) { outline: 2px solid #fff; outline-offset: 2px; }
.f-campo.error .opcion { border-color: #ff8a7a; }
@media (max-width: 420px) { .f-opciones .opciones { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 379px) { .f-opciones .opciones { grid-template-columns: 1fr; gap: 10px; } }
/* «Enviado con Fecha»: bloque propio a lo ancho, justo bajo «4. Material de apoyo»,
   con fecha, horas y minutos en una fila (antes, caja gris a media columna). */
.fecha-envio { border: 1px solid rgba(255,255,255,.25); border-radius: 12px; background: rgba(255,255,255,.04); padding: 6px 22px 22px; min-width: 0; }
.fecha-envio legend { padding: 0 8px; margin-left: -8px; font-size: 16px; line-height: 1.5; }
.fecha-hora { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 24px; }
.fecha-hora .f-campo { margin: 0; min-width: 0; }
.fecha-hora label { font-size: 15px; margin-bottom: 8px; color: rgba(255,255,255,.9); }
.fecha-hora input { min-height: 56px; }
.fecha-hora input::placeholder { color: rgba(255,255,255,.7); }
.fecha-hora input::-webkit-calendar-picker-indicator { filter: invert(1); }
.formulario .enviar { margin-top: 14px; }
.formulario .btn-azul { font-family: var(--titulos); font-weight: 700; font-size: 16px; padding: 13px 30px; border-radius: 8px; }
.formulario .aviso-form { max-width: 600px; }

/* Silvoagropecuario / colaborador */
.expo { padding: 200px 0 70px; }
.expo h1, .colab h1 { font-size: clamp(26px, 7vw, 46px); margin-bottom: 26px; overflow-wrap: break-word; }
.expo .texto { font-size: 16px; line-height: 1.875; }
.grilla-expo { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; padding: 60px 10px 70px; }
.expo-card { position: relative; aspect-ratio: 463 / 306; background: #e5e5e5; overflow: hidden; display: block; }
.expo-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.expo-card:hover img { transform: scale(1.05); }
.expo-card span { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 20px 16px; color: #fff; font-family: var(--titulos); font-weight: 700; font-size: 20px; background: linear-gradient(transparent, rgba(0,0,0,.6)); opacity: 0; transform: translateY(8px); transition: opacity .3s, transform .3s; }
.expo-card:hover span, .expo-card:focus-visible span { opacity: 1; transform: none; }
.expo-card.vacia span { opacity: 1; transform: none; color: #8a8a8a; background: none; font-size: 16px; }
.colab { padding: 90px 0 70px; }
.colab .fila { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.colab .fila > img { margin-top: 24px; width: 100%; }
.colab .datos-colab { border-top: 1px solid #000; margin-top: 44px; padding-top: 18px; list-style: none; padding-left: 0; }
.colab .datos-colab li { color: #54595f; line-height: 1.9; }
.galeria { padding: 30px 0 90px; }
.galeria h2 { font-size: clamp(32px, 3.4vw, 46px); margin-bottom: 20px; }
.galeria .pista { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.galeria .pista::-webkit-scrollbar { display: none; }
.galeria figure { margin: 0; flex: 0 0 calc((100% - 40px) / 3); scroll-snap-align: start; aspect-ratio: 433 / 260; overflow: hidden; }
.galeria figure img { width: 100%; height: 100%; object-fit: cover; }

/* 404 */
.error404 { padding: 140px 0; text-align: center; }
.error404 .grande { font-family: var(--titulos); font-weight: 700; font-size: clamp(90px, 16vw, 180px); line-height: 1; color: var(--navy); }
.error404 h1 { font-size: 30px; margin: 10px 0 14px; }
.error404 p { margin-bottom: 30px; }

/* Apariciones al hacer scroll */
.aparece { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.aparece.visto { opacity: 1; transform: none; }

/* ───────── Responsive ───────── */
@media (max-width: 1200px) {
  .pasos { gap: 20px; }
  .menu-principal li { margin: 0 7px; }
  .menu-principal a { font-size: 15px; }
  .pildoras { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1024px) {
  .menu-principal, .cabecera .espaciador { display: none; }
  .btn-menu { display: block; }
  .cabecera .contenedor-ancho { min-height: 110px; }
  .cabecera .logo img { width: 80px; }
  .cabecera--sobre-hero .contenedor-ancho { min-height: 100px; }
  .hero { min-height: 560px; }
  .hero-contenido { padding-top: 150px; }
  .sobre .fila { gap: 40px; }
  .rasgos { grid-template-columns: 1fr; }
  .rasgo { border-right: 0; }
  .pasos { grid-template-columns: repeat(2, 1fr); row-gap: 50px; }
  .pasos::before { display: none; }
  .paso:nth-child(odd) { margin-top: 0; }
  .paso:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .logo-aus { flex-basis: calc((100% - 2 * 28px) / 3); }
  .blog .fila { grid-template-columns: 1fr; }
  .pie .columnas { grid-template-columns: 1fr 1fr; gap: 40px 48px; padding: 60px 0 50px; }
  .postula .intro { grid-template-columns: 1fr; gap: 40px; }
  .respaldo { text-align: left; }
  .oscuro { background-attachment: scroll; }
}
@media (max-width: 900px) {
  .tarjetas-3, .grilla-noticias { grid-template-columns: repeat(2, 1fr); }
  .categorias .tarjetas-3, .porque .tarjetas-3 { row-gap: 20px; }
  .porque .vitrina { margin-bottom: 36px; }
  .contacto .fila { grid-template-columns: 1fr; gap: 50px; }
  .sobre .fila, .colab .fila { grid-template-columns: 1fr; }
  .sobre .imagen img { max-width: 360px; }
  .sobre .fila--tisias .imagen, .sobre .fila--nbc .imagen { order: 0; }
  .titulo-pagina .contenedor-ancho { flex-direction: column; align-items: flex-start; }
  .grilla-expo { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  body { font-size: 15px; }
  .hero { min-height: 406px; align-items: center; }
  .hero-contenido { padding: 90px 16px 40px; }
  .hero h1 { font-size: 32px; margin-bottom: 18px; }
  .hero .bajada, .cifras { display: none; }
  .hero .acciones { flex-direction: column; align-items: center; gap: 14px; margin-bottom: 0; }
  .btn-hero { padding: 9px 20px; }
  .sobre { padding-top: 70px; }
  .sobre h2 { font-size: 46px; line-height: 1.2; }
  .rasgo { flex-direction: column; text-align: center; gap: 12px; }
  .cumbre { padding: 70px 0 60px; }
  .cumbre .lead { font-size: 19px; }
  .cumbre .lead2 { font-size: 17px; }
  .tarjetas-3, .grilla-noticias { grid-template-columns: 1fr; }
  .premios .tarjetas-3 { margin-top: 50px; }
  .premio-platino { margin-top: 20px; }
  .sub-seccion { font-size: 18px; }
  .pasos-sec, .porque { padding: 70px 0; }
  .porque .vitrina { flex-direction: column; text-align: center; gap: 14px; padding: 24px 20px 26px; }
  .porque .vitrina .ic { font-size: 50px; }
  .porque .vitrina p { font-size: 16px; }
  .pasos { grid-template-columns: 1fr; }
  .pildoras { grid-template-columns: 1fr; gap: 20px; }
  .pildora { flex-direction: column; gap: 4px; border-radius: 20px; padding: 10px 14px; }
  .pildora span { flex: none; }
  .calendario { padding: 70px 0; }
  .linea-tiempo::before, .linea-tiempo::after, .linea-tiempo ol::before { left: 25px; }
  .hito { grid-template-columns: 50px 1fr; column-gap: 18px; row-gap: 12px; margin-bottom: 44px; align-items: start; }
  .hito .reloj { grid-column: 1 !important; grid-row: 1 / span 2; align-self: start; }
  .hito .fecha, .hito:nth-child(odd) .fecha, .hito:nth-child(even) .fecha { grid-column: 2; grid-row: 1; text-align: left; }
  .hito .caja, .hito:nth-child(odd) .caja, .hito:nth-child(even) .caja { grid-column: 2; grid-row: 2; text-align: left; border-right: 0; border-left: 3px solid var(--celeste); }
  .hito .caja::before, .hito:nth-child(odd) .caja::before, .hito:nth-child(even) .caja::before { left: -8px; right: auto; top: 16px; border: 0; border-left: 3px solid var(--celeste); border-bottom: 3px solid var(--celeste); }
  .hito .fecha strong { font-size: 19px; }
  .carrusel { padding: 0 40px; }
  .carrusel .flecha { width: 34px; font-size: 32px; }
  .logo-aus { flex-basis: calc((100% - 28px) / 2); }
  .logo-aus .url { font-size: 13px; }
  .puntos { margin-top: 30px; }
  .noticias-home { padding: 70px 0; }
  .contacto { padding: 70px 0; }
  .btn-enviar { margin-top: 20px; }
  /* móvil: marca arriba, Menú y Redes lado a lado, Contacto al final */
  .pie .columnas { grid-template-columns: 1fr 1fr; gap: 34px 20px; padding: 52px 0 40px; }
  .pie .columnas > .marca, .pie .columnas > :nth-child(3) { grid-column: 1 / -1; }
  .pie .columnas > :nth-child(3) { order: 3; }
  .pie .columnas > :nth-child(4) { order: 2; }
  .pie .marca img { width: 96px; margin: 0 0 18px; }
  .pie .creditos { padding: 20px 16px 96px; }
  .titulo-pagina { padding: 60px 0; }
  .nota { padding: 60px 0; }
  .nav-notas { margin-top: 60px; }
  .nav-notas strong { font-size: 17px; }
  .nav-notas a { gap: 14px; }
  .blog { padding: 60px 0; }
  .entrada h2 { font-size: 24px; }
  .entrada .cuerpo { padding: 22px 20px 24px; }
  .formulario .grupo, .formulario .grupo-3 { grid-template-columns: 1fr; }
  .formulario h3 { font-size: 26px; }
  .formulario h4 { font-size: 20px; }
  .fecha-envio { padding: 4px 16px 18px; }
  .fecha-hora { grid-template-columns: 1fr 1fr; gap: 16px; }
  .fecha-hora .fh-fecha { grid-column: 1 / -1; }
  .beneficios h3 { font-size: 22px; }
  .beneficios .ic { font-size: 40px; }
  .respaldo .logos img { height: 70px; }
  .expo { padding: 80px 0 40px; }
  .grilla-expo { grid-template-columns: 1fr; }
  .galeria figure { flex-basis: 85%; }
  .pago { padding: 80px 0 40px; margin-top: 0; }
  .pago p { font-size: 17px; }
  .idioma { left: 12px; bottom: 12px; }
  .idioma > button { padding: 8px 12px; font-size: 16px; }
  .idioma > button .bandera { width: 26px; height: 18px; }
  .arriba { right: 12px; bottom: 12px; width: 44px; height: 44px; }
}
@media (max-width: 400px) {
  .contenedor, .contenedor-ancho { padding: 0 16px; }
  .sobre h2 { font-size: 36px; }
  .carrusel { padding: 0 32px; }
  .btn-hero { font-size: 12px; }
}
@media (max-width: 340px) {
  .logo-aus { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .aparece { opacity: 1; transform: none; }
}
svg.ic.trazo { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
