/* ══════════════════════════════════════════════════════════════════
   v16-paginas.css — bloques comunes de las páginas interiores v16 (y la línea de hitos de la home).
   Se apoya en main.css (variables) y home-v16.css (tipografía h16-*, botones, chips,
   entrada .h16-rv / .h16-foto-rv, cierre .h16-cierre). Clases nuevas con prefijo p16-.
   Mismo lenguaje de movimiento: solo transform/opacity, una entrada por bloque.
   ══════════════════════════════════════════════════════════════════ */

/* Body de páginas interiores: fondo claro por defecto (la home es oscura) */
body.p16 { background: var(--white); color: var(--ink); }
body.p16 main:focus { outline: none; }

/* ── CABECERA DE PÁGINA ─────────────────────────────────────────── */
/* <section class="p16-hero"> … <span class="h16-ceja">…</span><h1 class="p16-h1">…</h1><p class="p16-lead">…</p> */
.p16-hero { position: relative; background: var(--dark); color: var(--white); padding: 168px 0 112px; overflow: hidden; }
.p16-hero .h16-wrap { position: relative; z-index: 2; display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: end; }
.p16-hero--simple .h16-wrap { grid-template-columns: 1fr; max-width: 1180px; }
.p16-hero-texto { display: flex; flex-direction: column; gap: 22px; max-width: 720px; }
.p16-h1 { margin: 0; font-size: 4.6rem; line-height: .98; font-weight: 800; letter-spacing: -.045em; color: var(--white); }
.p16-h1 em { font-style: normal; color: var(--mint); }
.p16-lead { margin: 0; font-size: 1.15rem; line-height: 1.65; color: var(--h16-soft-light); max-width: 600px; }
.p16-acciones { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.p16-hero-media { position: relative; padding-bottom: 75%; border-radius: 28px; overflow: hidden; background: var(--ink-soft); }
.p16-hero-media img, .p16-hero-media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* Variante con imagen o vídeo de fondo a sangre */
.p16-hero--fondo { padding: 200px 0 120px; min-height: 78vh; display: flex; align-items: flex-end; }
.p16-hero--fondo .h16-wrap { width: 100%; grid-template-columns: 1fr; }
.p16-hero-fondo { position: absolute; inset: 0; z-index: 0; }
.p16-hero-fondo img, .p16-hero-fondo video { width: 100%; height: 100%; object-fit: cover; display: block; }
.p16-hero-fondo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(9,16,14,.92) 0%, rgba(9,16,14,.6) 55%, rgba(9,16,14,.45) 100%); }
/* Entrada del hero al cargar (como el titular de la home) */
.p16-hero .h16-carga { animation: h16fundido .9s var(--h16-ease) both; animation-delay: .1s; }
.p16-hero-texto > * { animation: p16sube .9s var(--h16-ease) both; }
.p16-hero-texto > *:nth-child(2) { animation-delay: .08s; }
.p16-hero-texto > *:nth-child(3) { animation-delay: .16s; }
.p16-hero-texto > *:nth-child(4) { animation-delay: .24s; }
@keyframes p16sube { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* ── SECCIONES ──────────────────────────────────────────────────── */
.p16-sec { padding: 112px 0; position: relative; }
.p16-sec--blanco { background: var(--white); color: var(--ink); }
.p16-sec--off { background: var(--off); color: var(--ink); }
.p16-sec--oscuro { background: var(--dark); color: var(--white); }
.p16-sec--oscuro .h16-p, .p16-sec--oscuro .p16-texto { color: var(--h16-soft-dark); }
.p16-sec--oscuro .h16-label { color: var(--mint); }
.p16-sec--redondeada { border-radius: 36px 36px 0 0; margin-top: -36px; z-index: 2; }
.p16-sec > .h16-wrap { display: flex; flex-direction: column; gap: 48px; }
.p16-intro { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.p16-intro .h16-p { max-width: 640px; }
.p16-texto { margin: 0; font-size: 1.05rem; line-height: 1.75; color: var(--h16-text); }

/* Dos columnas texto + imagen (reutiliza .h16-fila / .h16-foto de la home) */
.p16-doble { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }

/* ── TARJETAS ───────────────────────────────────────────────────── */
.p16-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; list-style: none; }
.p16-grid--2 { grid-template-columns: repeat(2, 1fr); }
.p16-grid--3 { grid-template-columns: repeat(3, 1fr); }
.p16-card { background: var(--white); border: 1.5px solid var(--line); border-radius: 24px; padding: 30px; display: flex; flex-direction: column; gap: 14px; height: 100%; transition: transform .25s ease-out, border-color .25s ease, box-shadow .25s ease; }
a.p16-card { text-decoration: none; color: inherit; }
a.p16-card:hover, .p16-card--hover:hover { transform: translateY(-4px); border-color: var(--mint); box-shadow: 0 16px 40px -24px rgba(9,16,14,.25); }
.p16-card--oscuro { background: var(--ink-soft); border-color: rgba(255,255,255,.08); color: var(--white); }
.p16-card--oscuro .h16-p, .p16-card--oscuro .p16-texto { color: var(--h16-soft-dark); }
a.p16-card--oscuro:hover { border-color: rgba(18,227,188,.45); }
.p16-card-titulo { margin: 0; font-size: 1.35rem; line-height: 1.2; font-weight: 800; letter-spacing: -.02em; }
.p16-card-meta { font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--mid); }
.p16-card--oscuro .p16-card-meta { color: var(--h16-soft-dark-2); }
.p16-card-img { position: relative; padding-bottom: 56.25%; border-radius: 16px; overflow: hidden; background: #dceee8; margin: -8px -8px 4px; }
.p16-card-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Lista con flecha menta (regla de la marca) */
.p16-lista { list-style: none; display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; }
.p16-lista li { display: block; position: relative; padding-left: 24px; line-height: 1.6; color: var(--h16-text); }
.p16-lista li::before { content: "→"; color: var(--h16-mint-text); font-weight: 700; position: absolute; left: 0; top: 0; line-height: 1.6; }
.p16-sec--oscuro .p16-lista li, .p16-card--oscuro .p16-lista li { color: var(--h16-soft-dark); }
.p16-sec--oscuro .p16-lista li::before, .p16-card--oscuro .p16-lista li::before { color: var(--mint); }

/* Cita destacada */
.p16-cita { margin: 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--mint); font-size: 1.6rem; line-height: 1.3; font-weight: 700; letter-spacing: -.02em; max-width: 820px; }
.p16-cita footer { margin-top: 12px; font-size: .85rem; font-weight: 600; letter-spacing: 0; color: var(--mid); }
.p16-sec--oscuro .p16-cita footer { color: var(--h16-soft-dark-2); }

/* Fila de enlaces pequeños (vídeo · cómo se hizo · Skool · repo…) */
.p16-enlaces { display: flex; flex-wrap: wrap; gap: 6px 18px; list-style: none; margin: 0; padding: 0; }
.p16-enlaces a, .p16-enlaces span { display: inline-flex; align-items: center; min-height: 44px; font-size: .88rem; font-weight: 700; text-decoration: none; border-bottom: 2px solid var(--mint); }
.p16-enlaces span { border-bottom-color: transparent; color: var(--mid); font-weight: 600; }

/* Etiqueta discreta de premio u otros sellos */
.p16-sello { display: inline-flex; align-items: center; gap: 8px; font-size: .78rem; font-weight: 700; padding: 6px 12px; border-radius: 50px; background: var(--mint-pale); color: #0a5c4d; }

/* ── LÍNEA DE HITOS (home «Lo que llevamos hecho» y Nosotros «Bitácora») ── */
/* <ol class="p16-hitos"><li class="h16-rv"><time>may 2025</time><a|span class="p16-hito">Texto</a></li>…</ol> */
.p16-hitos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 22px; }
.p16-hitos li { position: relative; padding: 26px 0 22px; border-top: 1px solid rgba(255,255,255,.14); display: flex; flex-direction: column; gap: 8px; }
.p16-hitos li::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--mint); }
.p16-hitos time { font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--mint); }
.p16-hito { font-size: 1rem; line-height: 1.45; font-weight: 600; color: var(--white); text-decoration: none; }
a.p16-hito { display: inline; background-image: linear-gradient(var(--mint), var(--mint)); background-size: 0 2px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .3s var(--h16-ease); }
a.p16-hito:hover, a.p16-hito:focus-visible { background-size: 100% 2px; }
a.p16-hito .p16-hito-flecha { color: var(--mint); }
.p16-hitos--claro li { border-top-color: var(--line); }
.p16-hitos--claro time { color: var(--h16-mint-text); }
.p16-hitos--claro li::before { background: var(--h16-mint-text); }
.p16-hitos--claro .p16-hito { color: var(--ink); }

/* ── RESPONSIVE ─────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .p16-h1 { font-size: 3.6rem; }
  .p16-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .p16-hitos { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
  .p16-hero .h16-wrap, .p16-doble, .p16-grid--2 { grid-template-columns: 1fr; }
  .p16-hero { padding: 136px 0 88px; }
  .p16-hero--fondo { padding: 160px 0 88px; min-height: 70vh; }
}
@media (max-width: 720px) {
  .p16-h1 { font-size: 2.7rem; }
  .p16-lead { font-size: 1.05rem; }
  .p16-sec { padding: 88px 0; }
  .p16-sec > .h16-wrap { gap: 36px; }
  .p16-grid--3 { grid-template-columns: 1fr; }
  .p16-cita { font-size: 1.3rem; }
  .p16-card { padding: 24px; }
  .p16-hitos { grid-template-columns: 1fr; }
  .p16-hitos li { border-top: none; border-left: 1px solid rgba(255,255,255,.14); padding: 0 0 22px 22px; }
  .p16-hitos--claro li { border-left-color: var(--line); }
  .p16-hitos li::before { top: 4px; left: -5px; }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.h16-forzar-anim) .p16-hero-texto > *, body:not(.h16-forzar-anim) .p16-hero .h16-carga { animation: none !important; opacity: 1 !important; transform: none !important; }
  body:not(.h16-forzar-anim) .p16-card, body:not(.h16-forzar-anim) a.p16-card:hover { transition: none; transform: none; }
}

/* Hitos: toda la fila es el objetivo táctil (≥ 44 px), no solo el texto del enlace */
.p16-hitos li { min-height: 44px; }
a.p16-hito::after { content: ""; position: absolute; inset: 0; }
a.p16-hito:focus-visible { outline: none; }
.p16-hitos li:focus-within { outline: 3px solid var(--mint); outline-offset: 4px; border-radius: 6px; }

/* Anclas internas: que la cabecera fija no tape el destino */
.p16 [id] { scroll-margin-top: 96px; }


/* ── CABECERA CON VÍDEO DE FONDO (todas las páginas interiores) ─── */
/* <section class="p16-hero p16-hero--video"> + .p16-hero-fondo > video.p16-hero-video + button.p16-video-ctrl */
.p16-hero--video { min-height: 88vh; min-height: 88svh; display: flex; align-items: flex-end; padding: 190px 0 120px; }
.p16-hero--video .h16-wrap { width: 100%; grid-template-columns: 1fr; }
.p16-hero--video .p16-hero-texto { max-width: 760px; }
.p16-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; animation: h16videoIn 1.8s var(--h16-ease) both; }
.p16-hero--video .p16-hero-fondo { background: var(--dark); overflow: hidden; }
.p16-hero--video .p16-hero-fondo::after { background: linear-gradient(to top, rgba(9,16,14,.94) 0%, rgba(9,16,14,.62) 48%, rgba(9,16,14,.42) 100%); z-index: 1; }
.p16-hero--video .p16-video-ctrl { z-index: 3; }
@media (max-width: 720px) {
  .p16-hero--video { min-height: 82vh; min-height: 82svh; padding: 150px 0 96px; }
  .p16-video-ctrl { width: 44px; padding: 0; justify-content: center; }
  .p16-video-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.h16-forzar-anim) .p16-hero-video { animation: none !important; }
}


/* ── CIFRAS CON GIRO DE DÍGITOS ─────────────────────────────────── */
.h16-odo { display: inline-flex; align-items: flex-start; line-height: 1; }
.h16-odo-col { display: inline-block; height: 1em; overflow: hidden; line-height: 1; }
.h16-odo-tira { display: flex; flex-direction: column; transform: translateY(0); transition: transform 1.4s cubic-bezier(.16, 1, .3, 1); }
.h16-odo-tira > span { display: block; height: 1em; line-height: 1; text-align: center; }
.h16-odo.is-on .h16-odo-tira { transform: translateY(calc(var(--h16-odo-fin) * -1em)); }
.h16-odo-fijo { display: inline-block; white-space: pre; line-height: 1; }

/* ── FRASE QUE SE ILUMINA AL LEERLA ─────────────────────────────── */
.p16-ilumina.is-lista .p16-pal { opacity: .22; transition: opacity .35s ease-out; }
.p16-ilumina.is-lista .p16-pal.on { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  body:not(.h16-forzar-anim) .p16-ilumina .p16-pal { opacity: 1 !important; }
  body:not(.h16-forzar-anim) .h16-odo-tira { transition: none !important; }
}


/* ── PANTALLA DE CARGA CON EL SÍMBOLO (primera visita de la sesión) ── */
.h16-intro-marca { display: none; }
html.h16-js:not(.h16-visto) .h16-intro-marca { display: flex; position: fixed; inset: 0; z-index: 1000; align-items: center; justify-content: center;
  background: var(--dark); pointer-events: none; animation: h16introSale .55s cubic-bezier(.65,0,.35,1) 1.05s both; }
.h16-intro-marca img { width: 92px; height: 92px; position: relative; z-index: 1; animation: h16introIcono 1.1s cubic-bezier(.16,1,.3,1) both; }
.h16-intro-onda { position: absolute; width: 92px; height: 92px; border-radius: 50%; border: 2px solid var(--mint); opacity: 0; animation: h16introOnda 1s ease-out .25s both; }
@keyframes h16introIcono { 0% { opacity: 0; transform: scale(.6); } 45% { opacity: 1; transform: scale(1.06); } 65% { transform: scale(.98); } 100% { opacity: 1; transform: scale(1); } }
@keyframes h16introOnda { 0% { opacity: .9; transform: scale(.9); } 100% { opacity: 0; transform: scale(2.6); } }
@keyframes h16introSale { 0% { opacity: 1; visibility: visible; } 99% { visibility: visible; } 100% { opacity: 0; visibility: hidden; } }
/* La entrada de la página espera a que termine la marca */
html.h16-js:not(.h16-visto) .h16-linea > span { animation-delay: 1.15s; }
html.h16-js:not(.h16-visto) .h16-l2 > span { animation-delay: 1.23s; }
html.h16-js:not(.h16-visto) .h16-carga { animation-delay: 1.5s; }
html.h16-js:not(.h16-visto) .h16-video video, html.h16-js:not(.h16-visto) .p16-hero-video { animation-delay: .9s; }
html.h16-js:not(.h16-visto) .p16-hero-texto > * { animation-delay: 1.15s; }
html.h16-js:not(.h16-visto) .p16-hero-texto > *:nth-child(2) { animation-delay: 1.23s; }
html.h16-js:not(.h16-visto) .p16-hero-texto > *:nth-child(3) { animation-delay: 1.31s; }
html.h16-js:not(.h16-visto) .p16-hero-texto > *:nth-child(4) { animation-delay: 1.39s; }



/* ── FOTOS A LA ALTURA DEL BLOQUE DE TEXTO (escritorio) ──────────────
   La foto ocupa todo el alto de su texto vecino: sin huecos ni fotos «flotando». En móvil, proporción fija. */
@media (min-width: 861px) {
  .h16-fila, .t16-material, .nos16-bitacora-cab { align-items: stretch; }
  .h16-fila > .h16-foto, .t16-material > .h16-foto { padding-bottom: 0 !important; height: 100%; min-height: 400px; }
  .nos16-bitacora-cab .nos16-figura { display: flex; flex-direction: column; margin: 0; }
  .nos16-bitacora-cab .nos16-figura > .h16-foto { padding-bottom: 0 !important; flex: 1; min-height: 340px; }
}

/* ── PALABRAS CLAVE: negrita + subrayado menta (claro) / menta (oscuro) ── */
.h16-k { font-weight: 700; color: var(--ink); background: linear-gradient(transparent 60%, rgba(18,227,188,.42) 60%, rgba(18,227,188,.42) 92%, transparent 92%);
  -webkit-box-decoration-break: clone; box-decoration-break: clone; padding: 0 .06em; }
.p16-sec--oscuro .h16-k, .p16-hero .h16-k, .h16-escena .h16-k, .h16-hecho .h16-k, .b16-skool .h16-k, .f16 .h16-k { color: var(--mint); background: none; padding: 0; }
/* Sobre el fondo menta del cierre: negrita con subrayado tinta */
.h16-cierre .h16-k { color: var(--ink); background: none; padding: 0; text-decoration: underline 2px; text-underline-offset: 4px; }

/* ── TALLER TÉCNICO: casos reales enlazados ── */
.t16-casos { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.t16-casos a { display: grid; gap: 4px; padding: 14px 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; color: var(--white); text-decoration: none; transition: border-color .25s ease, background .25s ease; }
.t16-casos a:hover, .t16-casos a:focus-visible { border-color: var(--mint); background: rgba(18,227,188,.06); }
.t16-casos b { color: var(--mint); font-size: .95rem; }
.t16-casos span:not([aria-hidden]) { color: rgba(255,255,255,.78); font-size: .92rem; line-height: 1.5; }

/* ── COLABORADORES CON LOGO ── */
.s16-lista .s16-card { display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 26px; background: var(--white); border: 1.5px solid var(--line); border-radius: 22px; color: var(--ink); text-decoration: none; transition: border-color .3s var(--h16-ease), transform .3s var(--h16-ease), box-shadow .3s var(--h16-ease); }
.s16-lista .s16-card:hover, .s16-lista .s16-card:focus-visible { border-color: var(--mint); transform: translateY(-4px); box-shadow: 0 14px 40px rgba(18,227,188,.10); }
.s16-marca { display: grid; place-items: center; width: 76px; height: 76px; border-radius: 20px; background: var(--off); border: 1px solid var(--line); margin-bottom: 6px; overflow: hidden; }
.s16-marca img { width: 58px; height: 58px; object-fit: contain; filter: grayscale(1) contrast(1.1); opacity: .85; transition: filter .35s ease, opacity .35s ease; }
.s16-card:hover .s16-marca img, .s16-card:focus-visible .s16-marca img { filter: none; opacity: 1; }
.s16-marca--mono { background: var(--dark); border-color: var(--dark); color: var(--mint); font-weight: 800; font-size: 1.15rem; letter-spacing: -.02em; }
.s16-nombre { font-weight: 800; font-size: 1.12rem; line-height: 1.25; }
.s16-txt { color: var(--mid); font-size: .92rem; line-height: 1.55; }
.s16-ir { margin-top: auto; padding-top: 6px; font-size: .82rem; font-weight: 700; color: var(--h16-mint-text); }
/* Versión compacta (tarjeta «En buena compañía» de la home, fondo oscuro) */
.s16-mini a { gap: 10px; padding: 0 16px 0 6px !important; }
.s16-mini .s16-marca { width: 32px; height: 32px; border-radius: 50%; margin: 0; background: var(--white); border: 0; }
.s16-mini .s16-marca img { width: 24px; height: 24px; filter: none; opacity: 1; }
.s16-mini .s16-marca--mono { background: var(--mint); color: var(--ink); font-size: .62rem; }

/* ── PIE v16 ── */
.f16 { background: var(--ink); color: rgba(255,255,255,.74); padding: 88px 0 28px; position: relative; z-index: 2; }
.f16 a { color: inherit; text-decoration: none; }
.f16-cab { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 28px; padding-bottom: 56px; border-bottom: 1px solid rgba(255,255,255,.12); }
.f16-lema { margin: 0; font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 800; letter-spacing: -.035em; line-height: 1.02; color: var(--white); }
.f16-lema em { font-style: normal; color: var(--mint); }
.f16-cab-acc { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.f16-mail { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; color: var(--white) !important; border-bottom: 2px solid var(--mint); }
.f16-mail:hover { color: var(--mint) !important; }
.f16-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 48px; padding: 52px 0 44px; }
.f16-logo { display: inline-flex; min-height: 44px; align-items: center; margin-bottom: 14px; }
.f16-logo img { height: 40px; width: auto; display: block; }
.f16-marca p, .f16-skool p { margin: 0 0 18px; font-size: .92rem; line-height: 1.6; max-width: 320px; }
.f16-social { display: flex; flex-wrap: wrap; gap: 8px; }
.f16-social a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.26); color: rgba(255,255,255,.78); transition: border-color .2s ease, color .2s ease; }
.f16-social a:hover, .f16-social a:focus-visible { border-color: var(--mint); color: var(--mint); }
.f16-social svg { width: 16px; height: 16px; fill: currentColor; }
.f16-sk { font-size: .62rem; font-weight: 800; letter-spacing: .02em; line-height: 1; }
.f16-tit { margin: 0 0 10px; font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--mint); }
.f16-col ul { list-style: none; margin: 0; padding: 0; }
.f16-col ul a { display: inline-flex; align-items: center; min-height: 44px; font-size: .95rem; color: rgba(255,255,255,.78); transition: color .2s ease; }
.f16-col ul a:hover, .f16-col ul a:focus-visible { color: var(--mint); }
.f16-skool-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 20px; border-radius: 50px; border: 1.5px solid var(--mint); color: var(--mint) !important; font-weight: 700; font-size: .9rem; transition: background .2s ease, color .2s ease; }
.f16-skool-btn:hover, .f16-skool-btn:focus-visible { background: var(--mint); color: var(--ink) !important; }
.f16-pie { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); font-size: .82rem; color: rgba(255,255,255,.66); }
.f16-pie p { margin: 0; }
.f16-legal { display: flex; gap: 18px; list-style: none; margin: 0; padding: 0; }
.f16-legal a { display: inline-flex; align-items: center; min-height: 44px; }
.f16-legal a:hover { color: var(--mint); }
@media (max-width: 960px) { .f16-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .f16 { padding-top: 64px; } .f16-grid { grid-template-columns: 1fr; gap: 32px; } .f16-cab { padding-bottom: 40px; } }

/* Botones con flecha de enlace externo (↗): separación fija, el espacio en blanco se pierde en inline-flex */
.h16-btn { gap: 8px; }
.h16-enlace { gap: 6px; }

/* ── FOTO DE GRUPO APAISADA (home, fila 02): mantiene 16:9 para que salgan los tres; centrada junto al texto ── */
.h16-fila > .h16-foto.h16-foto--grupo { padding-bottom: 56.25% !important; height: auto; min-height: 0; }
.h16-foto--grupo img { object-position: 50% 50% !important; }
@media (min-width: 861px) {
  .h16-fila > .h16-foto.h16-foto--grupo { align-self: center; }
}
