/* AIM OFFICE · páginas de producto de cada app (/aplicaciones/<ruta>) y su índice.
   Usa las variables de estilo.css (y las del estilo elegido); --app es el color de la app. */
.fi { --app: var(--texto); --app-fuerte: color-mix(in srgb, var(--app) 80%, #000); --app-suave: color-mix(in srgb, var(--app) 12%, var(--blanco)); --app-tinta: color-mix(in srgb, var(--app) 72%, var(--tinta)); overflow-x: clip; position: relative; }
.fi h2 { font-size: clamp(30px, 4.6vw, 48px); font-weight: 750; letter-spacing: -0.025em; }
.fi h3 { font-size: 20px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; }

/* Iconos de app */
.fi-ico { --c: var(--app); width: 40px; height: 40px; border-radius: 11px; background: var(--c); color: #fff; display: inline-grid; place-items: center; flex: 0 0 auto; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14), 0 6px 16px -8px var(--c); }
.fi-ico svg { width: 60%; height: 60%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.fi-ico-p { width: 36px; height: 36px; border-radius: 10px; }
.fi-ico-g { width: 64px; height: 64px; border-radius: 18px; }
.fi-ico-gigante { width: min(220px, 50vw); height: min(220px, 50vw); border-radius: 26%; box-shadow: 0 40px 80px -30px var(--c); }
.fi svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Héroe */
.fi-heroe { position: relative; isolation: isolate; padding: 28px 0 56px; }
.fi-aurora { position: absolute; inset: -80px 0 0 0; z-index: -1; pointer-events: none; background:
  radial-gradient(60% 55% at 85% 20%, color-mix(in srgb, var(--app) 26%, transparent), transparent 70%),
  radial-gradient(45% 45% at 10% 0%, color-mix(in srgb, var(--app) 14%, transparent), transparent 70%),
  linear-gradient(180deg, transparent 60%, var(--papel)); }
.fi-heroe-rejilla { display: grid; gap: 40px; align-items: center; }
.fi-heroe-texto { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.fi-migas { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 14px; color: var(--tinta-3); }
.fi-migas a { color: var(--tinta-2); text-decoration: none; }
.fi-migas a:hover { text-decoration: underline; color: var(--tinta); }
.fi-antetitulo { display: inline-flex; align-items: center; gap: 12px; align-self: flex-start; padding: 6px 14px 6px 6px; border-radius: 999px; background: color-mix(in srgb, var(--blanco) 80%, transparent); border: 1px solid color-mix(in srgb, var(--app) 26%, var(--linea)); font: 700 17px/1 var(--titulo); color: var(--tinta); backdrop-filter: blur(8px); }
.fi-insignia { display: inline-block; font: 700 11.5px/1 var(--cuerpo); letter-spacing: .05em; text-transform: uppercase; padding: 5px 8px; border-radius: 999px; background: var(--app-suave); color: var(--app-tinta); border: 1px solid color-mix(in srgb, var(--app) 30%, transparent); vertical-align: middle; }
.fi-insignia-pronto { background: var(--aviso-fondo); color: var(--aviso-tinta); border-color: var(--aviso-borde); }
.fi-heroe h1 { font-size: clamp(40px, 6.4vw, 72px); font-weight: 800; letter-spacing: -0.035em; line-height: 1.02; }
.fi-entradilla { font-size: clamp(18px, 2.1vw, 21px); line-height: 1.5; color: var(--tinta-2); max-width: 36em; }
.fi-boton { background: var(--app-fuerte); color: #fff; box-shadow: 0 10px 24px -12px var(--app); }
.fi-boton:hover { background: color-mix(in srgb, var(--app) 66%, #000); color: #fff; }
.fi-hechos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 15px; color: var(--tinta-2); }
.fi-hechos li { display: inline-flex; align-items: center; gap: 7px; }
.fi-hechos svg { width: 18px; height: 18px; color: var(--app-tinta); stroke-width: 2.4; }
.fi-heroe-visual { position: relative; min-width: 0; }
.fi-heroe-solo { display: grid; place-items: center; padding: 24px 0; }
.fi-heroe-marco { transform: perspective(1800px) rotateY(-4deg) rotateX(2deg); transform-origin: 30% 50%; }
.fi-heroe-movil { display: none; }
@media (min-width: 980px) {
  .fi-heroe { padding: 40px 0 72px; }
  .fi-heroe-rejilla { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 56px; }
  .fi-heroe-movil { display: block; position: absolute; width: 22%; right: -2%; bottom: -12%; transform: rotate(3deg); }
}

/* Marcos de captura */
.fi-ventana { border-radius: 14px; overflow: hidden; background: var(--blanco); border: 1px solid color-mix(in srgb, var(--tinta) 12%, transparent); box-shadow: 0 1px 2px rgba(15, 20, 30, .06), 0 30px 60px -28px rgba(15, 20, 30, .38), 0 0 0 6px color-mix(in srgb, var(--app) 7%, transparent); }
.fi-ventana img { width: 100%; height: auto; }
.fi-ventana-barra { display: flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; background: color-mix(in srgb, var(--tinta) 5%, var(--blanco)); border-bottom: 1px solid color-mix(in srgb, var(--tinta) 10%, transparent); }
.fi-ventana-barra i { width: 10px; height: 10px; border-radius: 50%; background: color-mix(in srgb, var(--tinta) 18%, transparent); }
.fi-ventana-barra i:nth-child(1) { background: #f26b5e; } .fi-ventana-barra i:nth-child(2) { background: #f6be4f; } .fi-ventana-barra i:nth-child(3) { background: #5cc864; }
.fi-ventana-barra span { margin: 0 auto; transform: translateX(-20px); font-size: 12px; color: var(--tinta-3); background: color-mix(in srgb, var(--tinta) 6%, var(--blanco)); padding: 3px 14px; border-radius: 6px; max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fi-ventana-noche { background: #1e1f22; border-color: #33363c; }
.fi-ventana-noche .fi-ventana-barra { background: #26282c; border-color: #33363c; }
.fi-ventana-noche .fi-ventana-barra span { background: #303237; color: #a9aeb8; }
.fi-telefono { border-radius: 36px; padding: 9px; background: #15171c; box-shadow: 0 30px 60px -24px rgba(15, 20, 30, .5), inset 0 0 0 1px #3a3d44; max-width: 300px; margin: 0 auto; }
.fi-telefono-pantalla { border-radius: 28px; overflow: hidden; background: #fff; }
.fi-telefono img { width: 100%; height: auto; }

/* Índice de la página (pegajoso bajo la cabecera) */
.fi-indice { position: sticky; top: 64px; z-index: 4; background: color-mix(in srgb, var(--papel) 86%, transparent); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid var(--linea); }
.fi-indice ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.fi-indice ul::-webkit-scrollbar { display: none; }
.fi-indice a { display: block; padding: 14px 12px; min-height: 44px; white-space: nowrap; font-size: 15px; font-weight: 600; color: var(--tinta-2); text-decoration: none; border-bottom: 2px solid transparent; }
.fi-indice a:hover { color: var(--tinta); }
.fi-indice a[aria-current="true"] { color: var(--tinta); border-bottom-color: var(--app); }

/* Secciones */
.fi-seccion { padding: 72px 0; scroll-margin-top: 110px; }
.fi-seccion + .fi-seccion:not(.fi-privada) { padding-top: 24px; }
.fi-cabeza { max-width: 760px; margin-bottom: 40px; display: flex; flex-direction: column; gap: 14px; }
.fi-sub { font-size: 19px; color: var(--tinta-2); line-height: 1.5; }
@media (min-width: 980px) { .fi-seccion { padding: 96px 0; } .fi-seccion + .fi-seccion:not(.fi-privada) { padding-top: 32px; } }

/* Cómo funciona: pasos y galería */
.fi-pasos { list-style: none; margin: 0 0 48px; padding: 0; display: grid; gap: 16px; counter-reset: paso; }
.fi-paso { position: relative; background: var(--blanco); border: 1px solid var(--linea); border-radius: 18px; padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.fi-paso-n { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font: 800 16px/1 var(--titulo); color: #fff; background: var(--app-fuerte); margin-bottom: 4px; }
.fi-paso p { color: var(--tinta-2); }
@media (min-width: 820px) {
  .fi-pasos { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .fi-paso:not(:last-child)::after { content: ""; position: absolute; top: 42px; left: calc(100% - 4px); width: 28px; height: 2px; background: linear-gradient(90deg, var(--app), transparent); z-index: 1; }
}
.fi-galeria { display: flex; flex-direction: column; gap: 18px; min-width: 0; max-width: 100%; }
.fi-galeria-pista { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 8px 4px 24px; margin: -8px -4px 0; scrollbar-width: thin; }
.fi-diapositiva { flex: 0 0 min(88%, 980px); scroll-snap-align: center; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.fi-diapositiva-movil { flex-basis: min(64%, 300px); }
.fi-diapositiva figcaption { font-size: 15px; color: var(--tinta-3); text-align: center; }
.fi-galeria-js .fi-galeria-pista { display: block; overflow: visible; padding: 0; margin: 0; }
.fi-galeria-js .fi-diapositiva { display: none; max-width: 1000px; margin: 0 auto; }
.fi-galeria-js .fi-diapositiva.activa { display: flex; animation: fi-entra .35s ease both; }
.fi-galeria-js .fi-diapositiva-movil { max-width: 320px; }
.fi-miniaturas { list-style: none; margin: 0; padding: 4px 2px; max-width: 100%; min-width: 0; display: flex; gap: 10px; overflow-x: auto; justify-content: flex-start; scrollbar-width: none; }
@media (min-width: 820px) { .fi-miniaturas { justify-content: center; } }
.fi-mini { position: relative; font: inherit; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 6px; border-radius: 12px; border: 2px solid var(--linea); background: var(--blanco); color: var(--tinta-2); cursor: pointer; transition: border-color .15s, transform .15s; min-height: 44px; }
.fi-mini img { width: 120px; height: 75px; object-fit: cover; object-position: top; border-radius: 6px; }
.fi-mini-movil img { width: 42px; height: 75px; }
.fi-mini span:not(.sr) { font-size: 12.5px; font-weight: 600; }
.fi-mini:hover { border-color: var(--linea-2); }
.fi-mini[aria-pressed="true"] { border-color: var(--app); color: var(--tinta); }
@keyframes fi-entra { from { opacity: 0; transform: translateY(8px) scale(.99); } to { opacity: 1; transform: none; } }

/* Funciones: filas con captura y tarjetas */
.fi-fila { display: grid; gap: 28px; align-items: center; padding: 28px 0; }
.fi-fila-texto { display: flex; flex-direction: column; gap: 14px; max-width: 520px; }
.fi-fila-texto h3 { font-size: clamp(24px, 3vw, 32px); font-weight: 750; letter-spacing: -0.02em; }
.fi-fila-texto p { font-size: 18px; color: var(--tinta-2); line-height: 1.6; }
.fi-fila-visual { min-width: 0; }
.fi-fila-visual .fi-telefono { max-width: 260px; }
@media (min-width: 900px) {
  .fi-fila { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; padding: 44px 0; }
  .fi-fila-par .fi-fila-texto { order: 2; }
  .fi-fila-par { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}
.fi-tarjetas { list-style: none; margin: 40px 0 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.fi-tarjeta { background: var(--blanco); border: 1px solid var(--linea); border-radius: 18px; padding: 24px; display: flex; flex-direction: column; gap: 10px; transition: border-color .2s, transform .2s, box-shadow .2s; }
.fi-tarjeta:hover { border-color: color-mix(in srgb, var(--app) 40%, var(--linea)); box-shadow: 0 16px 32px -24px color-mix(in srgb, var(--app) 60%, transparent); }
.fi-tarjeta p { color: var(--tinta-2); }
.fi-tarjeta-ico { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--app-suave); color: var(--app-tinta); margin-bottom: 4px; }
.fi-tarjeta-ico svg { width: 20px; height: 20px; stroke-width: 2.4; }

/* Para quién */
.fi-dolores { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.fi-dolor { background: var(--blanco); border: 1px solid var(--linea); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.fi-dolor-problema { margin: 0; color: var(--tinta-2); font-size: 1.02em; line-height: 1.5; }
.fi-dolor-problema::before { content: "“"; color: var(--app); font-weight: 800; margin-right: 2px; }
.fi-dolor-problema::after { content: "”"; color: var(--app); font-weight: 800; margin-left: 1px; }
.fi-dolor-respuesta { margin: 0; padding-top: 14px; border-top: 1px dashed var(--linea); display: flex; gap: 10px; align-items: flex-start; font-weight: 600; line-height: 1.5; }
.fi-dolor-respuesta svg { flex: none; width: 20px; height: 20px; margin-top: 2px; color: var(--app-tinta); }
.fi-casos { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.fi-caso { position: relative; overflow: hidden; background: var(--blanco); border: 1px solid var(--linea); border-radius: 20px; padding: 26px 24px; display: flex; flex-direction: column; gap: 12px; }
.fi-caso::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg, var(--app), color-mix(in srgb, var(--app) 30%, transparent)); }
.fi-caso p { color: var(--tinta-2); }
.fi-caso-ico { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--app-suave); color: var(--app-tinta); }
.fi-caso-ico svg { width: 26px; height: 26px; }

/* Conexiones */
.fi-conexiones { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.fi-conexion { background: var(--blanco); border: 1px solid var(--linea); border-radius: 18px; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.fi-conexion p { color: var(--tinta-2); }
.fi-conexion h3 a { color: var(--tinta); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.fi-conexion h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.fi-externo { width: 16px; height: 16px; color: var(--tinta-3); }
.fi-conexion-cadena { display: flex; align-items: center; gap: 0; margin-bottom: 4px; }
.fi-conexion-cadena i { flex: 0 0 40px; height: 2px; margin: 0 6px; background: repeating-linear-gradient(90deg, var(--linea-2) 0 6px, transparent 6px 10px); position: relative; }
.fi-anim .fi-conexion.visto .fi-conexion-cadena i { background: linear-gradient(90deg, var(--app), var(--linea-2)); background-size: 200% 100%; animation: fi-flujo 1.6s ease both; }
@keyframes fi-flujo { from { background-position: 100% 0; } to { background-position: 0 0; } }

/* Privacidad */
.fi-privada { background: var(--tinta-noche); color: #eef1f7; margin: 48px 0; }
.fi-privada h2, .fi-privada h3 { color: #fff; }
.fi-privada .fi-sub { color: #c3cada; }
.fi-priv { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.fi-priv li { display: flex; flex-direction: column; gap: 10px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .14); }
.fi-priv p { color: #c3cada; }
.fi-priv-ico { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: rgba(255, 255, 255, .08); color: color-mix(in srgb, var(--app) 45%, #fff); }
.fi-priv-ico svg { width: 24px; height: 24px; }
.fi-priv-pie { margin-top: 40px; display: flex; gap: 12px; align-items: flex-start; color: #c3cada; font-size: 15px; }
.fi-priv-pie svg { width: 22px; height: 22px; flex: 0 0 auto; color: #ffdd00; }
.fi-priv-pie a { color: #fff; }

/* Planes */
.fi-planes { display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); max-width: 940px; }
.fi-plan { background: var(--blanco); border: 1px solid var(--linea); border-radius: 22px; padding: 28px 26px; display: flex; flex-direction: column; gap: 18px; }
.fi-plan-pro { border: 2px solid var(--app); box-shadow: 0 24px 48px -32px var(--app); }
.fi-plan h3 { font-size: 24px; }
.fi-plan-precio { display: flex; flex-direction: column; gap: 4px; }
.fi-plan-precio b { font: 800 40px/1 var(--titulo); letter-spacing: -0.03em; }
.fi-plan-precio span { color: var(--tinta-2); font-size: 15px; }
.fi-plan-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.fi-plan-lista li { display: flex; gap: 10px; align-items: flex-start; }
.fi-plan-lista svg { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 2px; color: var(--app-tinta); stroke-width: 2.4; }
.fi-plan .boton { align-self: flex-start; }

/* Preguntas */
.fi-preguntas { max-width: 860px; display: flex; flex-direction: column; gap: 10px; }
.fi-preguntas details { background: var(--blanco); border: 1px solid var(--linea); border-radius: 16px; padding: 0 20px; transition: border-color .2s; }
.fi-preguntas details[open] { border-color: color-mix(in srgb, var(--app) 40%, var(--linea)); }
.fi-preguntas summary { cursor: pointer; list-style: none; padding: 18px 36px 18px 0; position: relative; font: 650 18px/1.35 var(--titulo); min-height: 44px; }
.fi-preguntas summary::-webkit-details-marker { display: none; }
.fi-preguntas summary::after { content: ""; position: absolute; right: 2px; top: 50%; width: 12px; height: 12px; margin-top: -8px; border-right: 2.4px solid var(--app-tinta); border-bottom: 2.4px solid var(--app-tinta); transform: rotate(45deg); transition: transform .2s; }
.fi-preguntas details[open] summary::after { transform: rotate(225deg); margin-top: -2px; }
.fi-preguntas details p { padding: 0 0 20px; color: var(--tinta-2); max-width: 46em; }

/* Final y apps relacionadas */
.fi-final { padding: 24px 0 88px; }
.fi-final-caja { position: relative; overflow: hidden; isolation: isolate; border-radius: 28px; padding: 56px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 18px; color: #fff; background: var(--app-fuerte); }
.fi-final-caja::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 80% at 50% 0%, rgba(255, 255, 255, .22), transparent 70%), radial-gradient(40% 60% at 100% 100%, rgba(0, 0, 0, .25), transparent 70%); }
.fi-final-caja h2 { color: #fff; max-width: 18em; }
.fi-final-caja p { color: rgba(255, 255, 255, .92); font-size: 18px; max-width: 34em; }
.fi-final-caja .fi-ico { --c: rgba(255, 255, 255, .16); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3); }
.fi-final-caja .botones { justify-content: center; }
.boton-claro:hover { background: #f1f3f7; color: var(--tinta-noche); }
.fi-final-caja :focus-visible { outline-color: #fff; }
.fi-relacionadas { margin-top: 56px; display: flex; flex-direction: column; gap: 20px; }
.fi-rel-t { font-size: clamp(24px, 3vw, 30px) !important; }
.fi-rel { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.fi-todas a { font-weight: 600; color: var(--tinta); text-underline-offset: 4px; }

/* Tarjeta de app (relacionadas e índice) */
.fi-app { --c: var(--app); display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 18px; background: var(--blanco); border: 1px solid var(--linea); color: var(--tinta); text-decoration: none; transition: border-color .2s, transform .2s, box-shadow .2s; min-height: 72px; }
.fi-app:hover { color: var(--tinta); border-color: color-mix(in srgb, var(--c) 45%, var(--linea)); transform: translateY(-2px); box-shadow: 0 18px 32px -24px var(--c); }
.fi-app .fi-ico { --c: inherit; background: var(--c); }
.fi-app-txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.fi-app-txt b { font: 700 17px/1.25 var(--titulo); display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.fi-app-txt small { color: var(--tinta-2); font-size: 14.5px; line-height: 1.35; }
.fi-app-flecha { width: 20px; height: 20px; color: var(--tinta-3); flex: 0 0 auto; transition: transform .2s, color .2s; }
.fi-app:hover .fi-app-flecha { transform: translateX(3px); color: var(--tinta); }

/* Qué hará (próximamente) */
.fi-porque { margin-top: 24px; max-width: 760px; background: var(--aviso-fondo); border: 1px solid var(--aviso-borde); color: var(--aviso-tinta); border-radius: 18px; padding: 22px 24px; display: flex; flex-direction: column; gap: 8px; }
.fi-porque h3 { color: inherit; }

/* Índice de apps */
.fi-heroe-indice { padding-bottom: 40px; }
.fi-heroe-indice .envoltura { display: flex; flex-direction: column; gap: 20px; }
.fi-grupos { display: flex; flex-direction: column; gap: 64px; padding-top: 48px; padding-bottom: 96px; }
.fi-grupo { scroll-margin-top: 120px; display: flex; flex-direction: column; gap: 22px; }
.fi-grupo-cabeza { display: flex; flex-direction: column; gap: 8px; max-width: 720px; }
.fi-grupo-cabeza h2 { font-size: clamp(26px, 3.4vw, 36px) !important; }
.fi-grupo-cabeza p { color: var(--tinta-2); font-size: 17px; }
.fi-rejilla { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }

/* Aparecer al hacer scroll (solo con JavaScript y si no se pide menos movimiento) */
.fi-anim .fi-aparece { opacity: 0; transform: translateY(18px); transition: opacity .6s cubic-bezier(.2, .7, .2, 1), transform .6s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--i, 0) * 70ms); }
.fi-anim .fi-aparece.visto { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .fi-anim .fi-aparece { opacity: 1; transform: none; transition: none; }
  .fi-heroe-marco { transform: none; }
  .fi-galeria-js .fi-diapositiva.activa { animation: none; }
  .fi-app, .fi-app:hover, .fi-app-flecha { transition: none; transform: none; }
  .fi-anim .fi-conexion.visto .fi-conexion-cadena i { animation: none; }
}

/* Estilos oscuros (Noche, Futurista): la banda de privacidad se distingue del fondo */
:root[data-tema="noche"] .fi-privada, :root[data-tema="futurista"] .fi-privada { background: color-mix(in srgb, var(--blanco) 60%, #000); border-block: 1px solid var(--linea); }
:root[data-tema="noche"] .fi-telefono-pantalla, :root[data-tema="futurista"] .fi-telefono-pantalla { background: #1e1f22; }
