
500;600;700;800;900&family=DM+Sans:wght@300;400;500;600;700&display=swap");

:root {
  --fjx-parallax: 0px;
  --fjx-white: var(--fjx-blanco);
  --fjx-off: #f5f7fa;
  --fjx-ink: var(--fjx-navy);
  --fjx-ink-2: var(--fjx-texto-3);
  --fjx-ink-3: #7a88a6;
  --fjx-deep: #011627;
  --fjx-deep-2: #001d35;
  --fjx-blue: #2563eb;
  --fjx-cyan: #06b6d4;
  --fjx-purple: var(--fjx-aviso);
  --fjx-red: var(--fjx-error);
  --fjx-gold: #f59e0b;
  --fjx-green: var(--fjx-ok);
}

html {
  scroll-behavior: smooth;
}

#inicio,
#programas,
#proyectos,
#nosotros,
#historia,
#equipo,
#medios {
  scroll-margin-top: 92px;
}

.fjx-hero-row,
.fjx-section,
.fjx-section-soft,
.fjx-section-dark,
.fjx-stats-row,
.fjx-ticker-row,
.fjx-cta-row {
  font-family: "DM Sans", sans-serif;
  color: var(--fjx-ink);
}

.fjx-hero-row *,
.fjx-section *,
.fjx-section-soft *,
.fjx-section-dark *,
.fjx-stats-row *,
.fjx-ticker-row *,
.fjx-cta-row * {
  box-sizing: border-box;
}

.fjx-hero-row h1,
.fjx-hero-row h2,
.fjx-section h2,
.fjx-section h3,
.fjx-section-soft h2,
.fjx-section-soft h3,
.fjx-section-dark h2,
.fjx-section-dark h3,
.fjx-stat-num {
  font-family: "Outfit", sans-serif;
  letter-spacing: 0;
}

.fjx-hero-row p,
.fjx-section p,
.fjx-section-soft p,
.fjx-section-dark p,
.fjx-cta-row p {
  margin: 0;
}

.fjx-hero-row {
  background: var(--fjx-white);
}

.fjx-section,
.fjx-section-soft,
.fjx-section-dark,
.fjx-oea-row,
.fjx-stats-row,
.fjx-cta-row {
  content-visibility: auto;
  contain-intrinsic-size: 1px 760px;
}

.fjx-hero {
  min-height: clamp(600px, calc(100vh - 96px), 760px);
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(380px, 0.82fr);
  align-items: center;
  gap: clamp(36px, 4vw, 64px);
  max-width: 1340px;
  margin: 0 auto;
  padding: clamp(46px, 5.2vw, 70px) 80px clamp(48px, 4.5vw, 62px);
  overflow: hidden;
}

.fjx-hero-left {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-rows: minmax(390px, auto) auto;
  align-items: center;
  min-width: 0;
}

.fjx-hero-slide,
.fjx-hero-visual {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(14px);
  transition: opacity 0.55s ease, transform 0.55s ease, visibility 0.55s ease;
}

.fjx-hero-slide {
  grid-area: 1 / 1;
  align-self: center;
}

.fjx-hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.fjx-hero-visual.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

@keyframes fjx-slide-in {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fjx-visual-in {
  from { opacity: 0; transform: translateY(16px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.fjx-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  padding: 6px 14px;
  border-radius: 999px;
  background: #eef3ff;
  color: var(--fjx-blue);
  font-family: "Outfit", sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.fjx-eyebrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.fjx-hero-title {
  max-width: 720px;
  margin: 0 0 18px;
  color: var(--fjx-ink);
  font-size: clamp(40px, 4.55vw, 64px);
  font-weight: 900;
  line-height: 1.02;
}

.fjx-hero-title span {
  color: var(--fjx-blue);
  background: linear-gradient(130deg, var(--fjx-blue) 0%, var(--fjx-purple) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.fjx-hero-copy {
  max-width: 500px;
  margin-bottom: 22px;
  color: var(--fjx-ink-2);
  font-size: 16.5px;
  line-height: 1.62;
}

.fjx-note {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
  padding: 9px 16px;
  border: 1px solid #fde68a;
  border-radius: 999px;
  background: #fffbeb;
  color: #92400e;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.fjx-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 34px;
}

.fjx-btn,
.fjx-btn-outline,
.fjx-btn-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 13px 24px;
  border-radius: 999px;
  font-family: "Outfit", sans-serif;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.15s, box-shadow 0.2s;
}

.fjx-btn {
  background: var(--fjx-ink);
  color: #fff !important;
}

.fjx-btn:hover {
  background: var(--fjx-blue);
  transform: translateY(-2px);
}

.fjx-btn:focus-visible,
.fjx-btn-outline:focus-visible,
.fjx-btn-light:focus-visible,
.fjx-hero-dot:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.28);
  outline-offset: 4px;
}

.fjx-btn-outline {
  border: 2px solid rgba(10, 22, 40, 0.13);
  background: transparent;
  color: var(--fjx-ink-2) !important;
}

.fjx-btn-outline:hover {
  border-color: var(--fjx-blue);
  color: var(--fjx-blue) !important;
  transform: translateY(-2px);
}

.fjx-btn-light {
  background: #fff;
  color: var(--fjx-ink) !important;
}

.fjx-micro {
  display: flex;
  gap: 28px;
  padding-top: 22px;
  border-top: 1px solid rgba(10, 22, 40, 0.07);
}

.fjx-micro strong {
  display: block;
  color: var(--fjx-ink);
  font-family: "Outfit", sans-serif;
  font-size: 23px;
  font-weight: 900;
  line-height: 1;
}

.fjx-micro span {
  display: block;
  margin-top: 5px;
  color: var(--fjx-ink-3);
  font-size: 12px;
  font-weight: 700;
}

.fjx-hero-dots {
  grid-area: 2 / 1;
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.fjx-hero-dot {
  width: 38px;
  height: 5px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(10, 22, 40, 0.14);
  cursor: pointer;
  transition: width 0.25s, background 0.25s, transform 0.25s;
}

.fjx-hero-dot.is-active {
  width: 58px;
  background: var(--fjx-blue);
}

.fjx-hero-dot:hover {
  background: rgba(37, 99, 235, 0.55);
  transform: translateY(-1px);
}

.fjx-hero-right {
  position: relative;
  min-height: 460px;
  display: grid;
  align-items: center;
  justify-items: center;
}

.fjx-hero-visual {
  grid-area: 1 / 1;
  width: 100%;
  min-height: 460px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-slide,
.fjx-hero:not(.fjx-js-ready) .fjx-hero-visual {
  animation: fjx-auto-slide 21s infinite;
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-slide:nth-of-type(2),
.fjx-hero:not(.fjx-js-ready) .fjx-hero-visual:nth-of-type(2) {
  animation-delay: 7s;
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-slide:nth-of-type(3),
.fjx-hero:not(.fjx-js-ready) .fjx-hero-visual:nth-of-type(3) {
  animation-delay: 14s;
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-dot {
  animation: fjx-auto-dot 21s infinite;
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-dot:nth-child(2) {
  animation-delay: 7s;
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-dot:nth-child(3) {
  animation-delay: 14s;
}

.fjx-hero:hover .fjx-hero-slide,
.fjx-hero:hover .fjx-hero-visual,
.fjx-hero:hover .fjx-hero-dot {
  animation-play-state: paused;
}

@keyframes fjx-auto-slide {
  0%, 4% {
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);
    pointer-events: none;
  }
  7%, 28% {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  32%, 100% {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    pointer-events: none;
  }
}

@keyframes fjx-auto-dot {
  0%, 4%, 32%, 100% {
    width: 38px;
    background: rgba(10, 22, 40, 0.14);
  }
  7%, 28% {
    width: 58px;
    background: var(--fjx-blue);
  }
}

.fjx-identity-stage {
  position: relative;
  width: min(460px, 100%);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
}

.fjx-identity-stage::before {
  content: "";
  position: absolute;
  inset: 9%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 20%, rgba(37, 99, 235, 0.12), transparent 32%),
    radial-gradient(circle at 78% 38%, rgba(245, 158, 11, 0.16), transparent 30%),
    radial-gradient(circle at 52% 84%, rgba(22, 163, 74, 0.14), transparent 34%);
  filter: blur(4px);
}

.fjx-institution-core {
  position: relative;
  z-index: 3;
  width: 214px;
  min-height: 104px;
  display: grid;
  place-items: center;
  padding: 21px 26px;
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 28px 80px rgba(10, 22, 40, 0.12);
  animation: fjx-core-arrive 10s ease-in-out infinite;
}

.fjx-institution-core img {
  width: 160px;
  max-width: 100%;
}

.fjx-program-chip {
  position: absolute;
  z-index: 4;
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  padding: 14px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 22px 54px rgba(10, 22, 40, 0.12);
  transform: translate(var(--x), var(--y));
  animation: fjx-chip-converge 10s ease-in-out infinite;
}

.fjx-program-chip img,
.fjx-program-logo img,
.fjx-program-tile img,
.fjx-project-logo img,
.fjx-project-mini img,
.fjx-media-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.fjx-chip-1 { --x: -156px; --y: -116px; background: #eef3ff; }
.fjx-chip-2 { --x: 150px; --y: -104px; background: #fffbeb; animation-delay: -0.2s; }
.fjx-chip-3 { --x: -172px; --y: 48px; background: #fff1f2; animation-delay: -0.4s; }
.fjx-chip-4 { --x: 166px; --y: 60px; background: #ecfdf5; animation-delay: -0.6s; }
.fjx-chip-5 { --x: -68px; --y: 166px; background: #f5f3ff; animation-delay: -0.8s; }
.fjx-chip-6 { --x: 68px; --y: 168px; background: #ecfeff; animation-delay: -1s; }

@keyframes fjx-chip-converge {
  0%, 16%, 100% { transform: translate(var(--x), var(--y)) scale(1); opacity: 1; }
  40%, 58% { transform: translate(calc(var(--x) * 0.18), calc(var(--y) * 0.18)) scale(0.7); opacity: 0.34; }
  76% { transform: translate(var(--x), var(--y)) scale(1); opacity: 1; }
}

@keyframes fjx-core-arrive {
  0%, 18%, 76%, 100% { transform: scale(0.94); opacity: 0.72; }
  40%, 58% { transform: scale(1.04); opacity: 1; }
}

.fjx-program-showcase {
  width: min(460px, 100%);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.fjx-program-tile {
  min-height: 112px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 12px;
  padding: 18px 14px;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 20px 58px rgba(10, 22, 40, 0.1);
}

.fjx-program-tile img {
  width: 48px;
  height: 48px;
}

.fjx-program-tile span {
  color: var(--fjx-ink-2);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.fjx-global-stage {
  width: min(460px, 100%);
  display: grid;
  gap: 16px;
}

.fjx-global-card {
  padding: 26px;
  border-radius: 34px;
  background: var(--fjx-deep);
  color: #fff;
  box-shadow: 0 28px 80px rgba(10, 22, 40, 0.14);
}

.fjx-global-kicker {
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.54);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.fjx-global-value {
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-size: clamp(42px, 5.2vw, 64px);
  font-weight: 900;
  line-height: 0.92;
}

.fjx-global-label {
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 15px;
  line-height: 1.55;
}

.fjx-project-minis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.fjx-project-mini {
  height: 68px;
  display: grid;
  place-items: center;
  padding: 13px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 48px rgba(10, 22, 40, 0.1);
}

.fjx-ticker-row {
  overflow: hidden;
  background: var(--fjx-deep);
  color: rgba(255, 255, 255, 0.72);
}

.fjx-ticker {
  display: flex;
  gap: 48px;
  width: max-content;
  padding: 18px 0;
  animation: fjx-tick 30s linear infinite;
  color: rgba(255, 255, 255, 0.72);
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
  user-select: none;
}

.fjx-ticker span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.72) !important;
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.fjx-ticker a {
  color: inherit !important;
  text-decoration: none !important;
}

.fjx-ticker span::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--fjx-gold);
}

@keyframes fjx-tick {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.fjx-stats-row {
  background: var(--fjx-deep);
}

.fjx-stat-card {
  min-height: 190px;
  display: grid;
  place-items: center;
  padding: 42px 24px;
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, 0.06);
}

.fjx-stat-num {
  margin-bottom: 10px;
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 900;
  line-height: 1;
}

.fjx-stat-card:nth-child(1) .fjx-stat-num { color: var(--fjx-blue); }
.fjx-stat-card:nth-child(2) .fjx-stat-num { color: var(--fjx-gold); }
.fjx-stat-card:nth-child(3) .fjx-stat-num { color: var(--fjx-cyan); }
.fjx-stat-card:nth-child(4) .fjx-stat-num { color: var(--fjx-green); }
.fjx-stat-blue .fjx-stat-num { color: var(--fjx-blue); }
.fjx-stat-gold .fjx-stat-num { color: var(--fjx-gold); }
.fjx-stat-cyan .fjx-stat-num { color: var(--fjx-cyan); }
.fjx-stat-green .fjx-stat-num { color: var(--fjx-green); }

.fjx-stat-label {
  color: rgba(255, 255, 255, 0.48);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fjx-oea-row {
  padding: 86px 80px;
  background:
    radial-gradient(circle at 8% 16%, rgba(37, 99, 235, 0.09), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(6, 182, 212, 0.08), transparent 30%),
    linear-gradient(180deg, var(--fjx-blanco) 0%, #f7f9fc 100%);
  color: var(--fjx-ink);
}

.fjx-oea-row .fjx-container {
  width: min(1260px, 100%);
}

.fjx-credentials-wide {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);
  align-items: center;
  gap: clamp(28px, 4vw, 62px);
  padding: clamp(34px, 5vw, 58px);
  border: 1px solid rgba(10, 22, 40, 0.07);
  border-radius: 34px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.78)),
    linear-gradient(135deg, rgba(37, 99, 235, 0.05), rgba(6, 182, 212, 0.04));
  box-shadow: 0 30px 90px rgba(10, 22, 40, 0.08);
  overflow: hidden;
  position: relative;
}

.fjx-credentials-wide::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--fjx-blue), var(--fjx-cyan), var(--fjx-gold), var(--fjx-green));
}

.fjx-credentials-copy {
  min-width: 0;
}

.fjx-credentials-copy .fjx-title,
.fjx-oea-copy .fjx-title {
  max-width: 780px;
  font-size: clamp(30px, 3.35vw, 46px);
}

.fjx-credentials-copy .fjx-lead {
  max-width: 790px;
}

.fjx-credentials-copy .fjx-lead strong,
.fjx-oea-copy .fjx-lead strong {
  color: var(--fjx-ink);
}

.fjx-credential-logos {
  width: min(560px, 100%);
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin-top: 0;
  align-self: center;
  justify-self: center;
}

.fjx-logo-tier {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(26px, 3.6vw, 46px);
  width: 100%;
}

.fjx-logo-tier-top,
.fjx-logo-tier-gov {
  flex-wrap: nowrap;
}

.fjx-logo-tier span {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  place-items: center;
  gap: 7px;
  min-height: 96px;
  min-width: 0;
  text-align: center;
}

.fjx-logo-tier img {
  display: block;
  width: auto;
  object-fit: contain;
  filter: saturate(0.95);
  transition: transform 0.24s ease, filter 0.24s ease, opacity 0.24s ease;
}

.fjx-logo-tier span:hover img {
  transform: translateY(-3px);
  filter: saturate(1.06);
}

.fjx-credential-logos small {
  display: block;
  color: var(--fjx-ink-3);
  font-family: "Outfit", sans-serif;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.fjx-credential-logos .fjx-oea-logo img {
  max-width: 190px;
  max-height: 74px;
}

.fjx-credential-logos .fjx-ministry-logo img {
  max-width: 180px;
  max-height: 68px;
}

.fjx-credential-logos .fjx-un-logo img {
  max-width: 88px;
  max-height: 78px;
}

.fjx-credential-logos .fjx-minpre-logo img {
  max-width: 242px;
  max-height: 118px;
}

.fjx-logo-tier-casfl {
  position: relative;
  margin-top: 0;
  padding-top: 26px;
}

.fjx-logo-tier-casfl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 18%;
  right: 18%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(10, 22, 40, 0.14), transparent);
}

.fjx-logo-tier-casfl .fjx-casfl-seal {
  flex: 0 1 380px;
  min-height: 104px;
}

.fjx-credential-logos .fjx-casfl-seal img {
  max-width: 330px;
  max-height: 118px;
}

.fjx-oea-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  grid-column: 1 / -1;
  margin-top: 2px;
}

.fjx-oea-points span {
  padding: 9px 16px;
  border-radius: 999px;
  background: #eef3ff;
  color: var(--fjx-blue);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 900;
}

.fjx-credential-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  grid-column: 1 / -1;
  margin-top: 10px;
}

.fjx-credential-card {
  min-height: 126px;
  padding: 18px 18px 18px 0;
  border-top: 1px solid rgba(10, 22, 40, 0.1);
  background: transparent;
  box-shadow: none;
}

.fjx-credential-card strong {
  display: block;
  margin-bottom: 8px;
  color: var(--fjx-ink);
  font-family: "Outfit", sans-serif;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.15;
}

.fjx-credential-card span {
  display: block;
  color: var(--fjx-ink-2);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.55;
}

.fjx-section,
.fjx-section-soft,
.fjx-section-dark {
  padding: 96px 80px;
}

.fjx-section-soft {
  background: var(--fjx-off);
}

.fjx-section-dark {
  background: var(--fjx-deep-2);
  color: #fff;
}

.fjx-container {
  max-width: 1200px;
  margin: 0 auto;
}

.fjx-card-grid {
  max-width: 1200px;
  margin: 52px auto 0;
}

.fjx-tight-grid {
  max-width: 1200px;
  margin: 20px auto 0;
}

.fjx-center {
  text-align: center;
}

.fjx-center .fjx-title,
.fjx-center .fjx-lead {
  margin-left: auto;
  margin-right: auto;
}

.fjx-kicker {
  margin-bottom: 14px;
  color: var(--fjx-blue);
  font-family: "Outfit", sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.fjx-section-dark .fjx-kicker {
  color: var(--fjx-gold);
}

.fjx-title {
  max-width: 760px;
  margin: 0 0 20px;
  color: var(--fjx-ink);
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 900;
  line-height: 1.08;
}

.fjx-section-dark .fjx-title {
  color: #fff;
}

.fjx-lead {
  max-width: 600px;
  color: var(--fjx-ink-2);
  font-size: 17px;
  line-height: 1.72;
}

.fjx-section-dark .fjx-lead {
  color: rgba(255, 255, 255, 0.64);
}

.fjx-about-card,
.fjx-program-card,
.fjx-project-card,
.fjx-timeline-card,
.fjx-board-card,
.fjx-media-card {
  height: 100%;
  border-radius: 22px;
}

.fjx-about-card {
  padding: 42px;
  background: var(--fjx-off);
}

.fjx-mv {
  margin-bottom: 26px;
  padding-left: 22px;
  border-left: 4px solid var(--fjx-blue);
}

.fjx-mv:nth-of-type(2) {
  border-color: var(--fjx-purple);
}

.fjx-mv strong {
  display: block;
  margin-bottom: 8px;
  color: var(--fjx-blue);
  font-family: "Outfit", sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.fjx-mv:nth-of-type(2) strong {
  color: var(--fjx-purple);
}

.fjx-mv p,
.fjx-about-card p {
  color: var(--fjx-ink-2);
  font-size: 15px;
  line-height: 1.72;
}

.fjx-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
}

.fjx-tags span {
  padding: 7px 16px;
  border-radius: 999px;
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 900;
}

.fjx-tags span:nth-child(1),
.fjx-tags span:nth-child(6) { background: #eef3ff; color: var(--fjx-enlace); }
.fjx-tags span:nth-child(2) { background: #fffbeb; color: #92400e; }
.fjx-tags span:nth-child(3) { background: #f5f3ff; color: #5b21b6; }
.fjx-tags span:nth-child(4) { background: #ecfdf5; color: #065f46; }
.fjx-tags span:nth-child(5) { background: #fff1f2; color: #9f1239; }

.fjx-milestones {
  display: flex;
  gap: 28px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(10, 22, 40, 0.07);
}

.fjx-milestones strong {
  display: block;
  color: var(--fjx-blue);
  font-family: "Outfit", sans-serif;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
}

.fjx-milestones span {
  display: block;
  margin-top: 4px;
  color: var(--fjx-ink-3);
  font-size: 12px;
  font-weight: 700;
}

.fjx-program-card {
  position: relative;
  overflow: hidden;
  padding: 34px 30px;
  border: 1px solid rgba(10, 22, 40, 0.06);
  background: #fff;
  box-shadow: 0 18px 54px rgba(10, 22, 40, 0.05);
  transition: transform 0.25s, box-shadow 0.25s;
}

.fjx-program-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 70px rgba(10, 22, 40, 0.1);
}

.fjx-program-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--fjx-blue);
}

.fjx-p-mun::before { background: var(--fjx-gold); }
.fjx-p-aji::before { background: var(--fjx-cyan); }
.fjx-p-deb::before { background: var(--fjx-red); }
.fjx-p-ag::before { background: var(--fjx-green); }
.fjx-p-vol::before { background: var(--fjx-blue); }
.fjx-p-emp::before { background: var(--fjx-purple); }

.fjx-program-logo {
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  margin-bottom: 22px;
  padding: 14px;
  border-radius: 24px;
  box-shadow: inset 0 0 0 1px rgba(10, 22, 40, 0.045), 0 16px 34px rgba(10, 22, 40, 0.06);
}

.fjx-p-mun .fjx-program-logo { background: #fffbeb; }
.fjx-p-aji .fjx-program-logo { background: #ecfeff; }
.fjx-p-deb .fjx-program-logo { background: #fff1f2; }
.fjx-p-ag .fjx-program-logo { background: #ecfdf5; }
.fjx-p-vol .fjx-program-logo { background: #eef3ff; }
.fjx-p-emp .fjx-program-logo { background: #f5f3ff; }

.fjx-program-card h3,
.fjx-project-card h3 {
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.18;
}

.fjx-program-card p {
  color: var(--fjx-ink-2);
  font-size: 14px;
  line-height: 1.65;
}

.fjx-project-card {
  padding: 32px 28px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  transition: background 0.25s, transform 0.25s;
}

.fjx-project-card:hover {
  background: rgba(255, 255, 255, 0.09);
  transform: translateY(-4px);
}

.fjx-project-logo {
  width: 128px;
  height: 68px;
  display: grid;
  place-items: center;
  margin-bottom: 22px;
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.16);
}

.fjx-project-card p {
  color: rgba(255, 255, 255, 0.64);
  font-size: 14px;
  line-height: 1.65;
}

.fjx-timeline {
  position: relative;
  max-width: 880px;
  margin: 60px auto 0;
}

.fjx-timeline::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, var(--fjx-blue), var(--fjx-purple), var(--fjx-red), var(--fjx-green), var(--fjx-gold));
}

.fjx-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 48px 1fr;
  margin-bottom: 28px;
}

.fjx-timeline-card {
  padding: 22px 26px;
  border: 1px solid rgba(10, 22, 40, 0.08);
  background: #fff;
  box-shadow: 0 2px 12px rgba(10, 22, 40, 0.04);
}

.fjx-timeline-dot {
  width: 14px;
  height: 14px;
  margin: 22px auto;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--fjx-blue);
  box-shadow: 0 0 0 2px var(--fjx-blue);
  z-index: 1;
}

.fjx-timeline-date {
  margin-bottom: 6px;
  color: var(--fjx-blue);
  font-family: "Outfit", sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.fjx-timeline-card h3 {
  margin: 0 0 5px;
  color: var(--fjx-ink);
  font-size: 15px;
  font-weight: 900;
}

.fjx-timeline-card p {
  color: var(--fjx-ink-2);
  font-size: 13px;
  line-height: 1.6;
}

.fjx-board-card {
  text-align: center;
}

.fjx-avatar {
  width: 88px;
  height: 88px;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
  border-radius: 50%;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-size: 22px;
  font-weight: 900;
}

.fjx-board-card h3 {
  margin: 0 0 4px;
  color: var(--fjx-ink);
  font-size: 15px;
  font-weight: 900;
}

.fjx-board-card p {
  color: var(--fjx-ink-3);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

.fjx-section-logos {
  background:
    linear-gradient(180deg, rgba(245, 247, 250, 0.42), rgba(255, 255, 255, 1) 34%),
    var(--fjx-white);
}

.fjx-logo-marquee {
  position: relative;
  max-width: 1280px;
  margin: 46px auto 0;
  overflow: hidden;
  padding: 4px 0;
}

.fjx-logo-marquee::before,
.fjx-logo-marquee::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: 110px;
  pointer-events: none;
}

.fjx-logo-marquee::before {
  left: 0;
  background: linear-gradient(90deg, var(--fjx-white), rgba(255, 255, 255, 0));
}

.fjx-logo-marquee::after {
  right: 0;
  background: linear-gradient(270deg, var(--fjx-white), rgba(255, 255, 255, 0));
}

.fjx-logo-line {
  overflow: hidden;
}

.fjx-logo-line + .fjx-logo-line {
  margin-top: 18px;
}

.fjx-logo-track {
  display: flex;
  width: max-content;
  gap: 18px;
  animation: fjx-logo-flow 48s linear infinite;
  will-change: transform;
}

.fjx-logo-line-alt .fjx-logo-track {
  animation-duration: 58s;
  animation-delay: -12s;
}

.fjx-logo-marquee:hover .fjx-logo-track {
  animation-play-state: paused;
}

.fjx-logo-card {
  flex: 0 0 auto;
  width: 176px;
  height: 86px;
  display: grid;
  place-items: center;
  padding: 16px 22px;
  border: 1px solid rgba(10, 22, 40, 0.07);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 44px rgba(10, 22, 40, 0.055);
}

.fjx-logo-card img {
  display: block;
  max-width: 132px;
  max-height: 52px;
  width: auto;
  height: auto;
  object-fit: contain;
  opacity: 0.88;
  filter: saturate(0.82) contrast(1.05);
  transition: opacity 0.2s ease, filter 0.2s ease, transform 0.2s ease;
}

.fjx-logo-card:hover img {
  opacity: 1;
  filter: saturate(1) contrast(1);
  transform: scale(1.04);
}

.fjx-logo-card-oea img {
  max-height: 62px;
}

.fjx-logo-card-wide img {
  max-width: 146px;
  max-height: 50px;
}

@keyframes fjx-logo-flow {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.fjx-media-card {
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 20px 58px rgba(0, 0, 0, 0.14);
  transition: transform 0.25s, background 0.25s, border-color 0.25s;
}

.fjx-media-card:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 255, 255, 0.16);
  transform: translateY(-4px);
}

.fjx-media-card a {
  display: block;
  color: #fff !important;
  text-decoration: none !important;
}

.fjx-media-thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #071a2d;
}

.fjx-media-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(1, 22, 39, 0.02), rgba(1, 22, 39, 0.42));
}

.fjx-media-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  opacity: 0.86;
  transform: scale(1.01);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.fjx-media-card:hover .fjx-media-thumb img {
  opacity: 1;
  transform: scale(1.055);
}

.fjx-play {
  position: absolute;
  z-index: 1;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
}

.fjx-play::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: 4px;
  border-style: solid;
  border-width: 9px 0 9px 16px;
  border-color: transparent transparent transparent var(--fjx-ink);
}

.fjx-media-card h3 {
  margin: 0;
  padding: 18px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}

.fjx-video-grid {
  max-width: 1200px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 52px auto 0;
}

.fjx-program-card,
.fjx-project-card,
.fjx-timeline-card,
.fjx-board-card,
.fjx-media-card,
.fjx-logo-card {
  backface-visibility: hidden;
}

.fjx-media-card,
.fjx-program-card,
.fjx-project-card {
  will-change: transform;
}

.fjx-cta-row {
  padding: 88px 80px;
  text-align: center;
  background: linear-gradient(125deg, var(--fjx-blue) 0%, var(--fjx-purple) 100%);
  color: #fff;
}

.fjx-cta-row h2 {
  margin: 0 0 16px;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 900;
  line-height: 1.12;
}

.fjx-cta-row p {
  margin-bottom: 40px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 18px;
}

.fjx-reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.fjx-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 960px) {
  .fjx-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 56px 24px 64px;
  }

  .fjx-hero-right {
    display: none;
  }

  .fjx-section,
  .fjx-section-soft,
  .fjx-section-dark,
  .fjx-oea-row,
  .fjx-cta-row {
    padding: 72px 24px;
  }

  .fjx-oea-row .fjx-container {
    display: grid;
    gap: 28px;
  }

  .fjx-credentials-wide {
    grid-template-columns: 1fr;
    border-radius: 28px;
  }

  .fjx-credential-logos {
    align-items: center;
  }

  .fjx-logo-tier-top,
  .fjx-logo-tier-gov {
    flex-direction: row;
  }

  .fjx-credential-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fjx-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fjx-logo-marquee::before,
  .fjx-logo-marquee::after {
    width: 48px;
  }

  .fjx-logo-card {
    width: 150px;
    height: 74px;
    padding: 14px 18px;
  }

  .fjx-logo-card img {
    max-width: 112px;
    max-height: 44px;
  }

  .fjx-stat-card {
    min-height: 150px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }

  .fjx-timeline::before,
  .fjx-timeline-dot {
    display: none;
  }

  .fjx-timeline-item {
    display: block;
  }
}

@media (max-width: 600px) {
  .fjx-hero-title {
    font-size: 42px;
  }

  .fjx-credentials-wide {
    padding: 28px 20px;
    border-radius: 24px;
  }

  .fjx-credential-logos {
    gap: 20px;
  }

  .fjx-logo-tier-top,
  .fjx-logo-tier-gov {
    flex-direction: column;
    gap: 18px;
  }

  .fjx-credential-logos .fjx-oea-logo img {
    max-width: 190px;
  }

  .fjx-credential-logos .fjx-minpre-logo img {
    max-width: 232px;
  }

  .fjx-credential-logos .fjx-casfl-seal img {
    max-width: 286px;
  }

  .fjx-credential-grid {
    grid-template-columns: 1fr;
  }

  .fjx-micro,
  .fjx-milestones {
    flex-direction: column;
    align-items: flex-start;
  }

  .fjx-video-grid {
    grid-template-columns: 1fr;
  }

  .fjx-logo-track {
    gap: 12px;
  }

  .fjx-logo-card {
    width: 136px;
    height: 68px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fjx-hero-row *,
  .fjx-section *,
  .fjx-section-soft *,
  .fjx-section-dark *,
  .fjx-ticker-row *,
  .fjx-logo-marquee *,
  .fjx-cta-row * {
    animation: none !important;
    transition: none !important;
  }
}
/* AJUSTE FUNAJIT: slider funcional + mejoras visuales modernas.
   Pegar al final del CSS adicional si ya tienes la pagina montada. */

html {
  scroll-behavior: smooth;
}

#inicio,
#programas,
#proyectos,
#nosotros,
#historia,
#equipo,
#medios {
  scroll-margin-top: 92px;
}

.fjx-reveal,
.fjx-reveal:not(.is-visible) {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.fjx-hero {
  isolation: isolate;
}

.fjx-hero-left {
  position: relative !important;
  z-index: 2;
  display: grid !important;
  grid-template-rows: minmax(390px, auto) auto;
  align-items: center;
  min-width: 0;
}

.fjx-hero-slide {
  grid-area: 1 / 1;
  align-self: center;
  display: block !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(14px);
  transition: opacity 0.55s ease, transform 0.55s ease, visibility 0.55s ease;
}

.fjx-hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.fjx-hero-dots {
  grid-area: 2 / 1;
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.fjx-hero-dot {
  width: 38px;
  height: 5px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(10, 22, 40, 0.14);
  cursor: pointer;
  transition: width 0.25s, background 0.25s, transform 0.25s;
}

.fjx-hero-dot.is-active {
  width: 58px;
  background: #2563eb;
}

.fjx-hero-dot:hover {
  background: rgba(37, 99, 235, 0.55);
  transform: translateY(-1px);
}

.fjx-btn:focus-visible,
.fjx-btn-outline:focus-visible,
.fjx-btn-light:focus-visible,
.fjx-hero-dot:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.28);
  outline-offset: 4px;
}

.fjx-hero-right {
  position: relative !important;
  min-height: 460px;
  display: grid !important;
  align-items: center;
  justify-items: center;
}

.fjx-hero-visual {
  grid-area: 1 / 1;
  width: 100%;
  min-height: 460px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(14px);
  transition: opacity 0.55s ease, transform 0.55s ease, visibility 0.55s ease;
}

.fjx-hero-visual.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-slide,
.fjx-hero:not(.fjx-js-ready) .fjx-hero-visual {
  animation: fjx-auto-slide 21s infinite;
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-slide:nth-of-type(2),
.fjx-hero:not(.fjx-js-ready) .fjx-hero-visual:nth-of-type(2) {
  animation-delay: 7s;
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-slide:nth-of-type(3),
.fjx-hero:not(.fjx-js-ready) .fjx-hero-visual:nth-of-type(3) {
  animation-delay: 14s;
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-dot {
  animation: fjx-auto-dot 21s infinite;
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-dot:nth-child(2) {
  animation-delay: 7s;
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-dot:nth-child(3) {
  animation-delay: 14s;
}

.fjx-hero:hover .fjx-hero-slide,
.fjx-hero:hover .fjx-hero-visual,
.fjx-hero:hover .fjx-hero-dot,
.fjx-logo-marquee:hover .fjx-logo-track {
  animation-play-state: paused;
}

@keyframes fjx-auto-slide {
  0%, 4% {
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px);
    pointer-events: none;
  }
  7%, 28% {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  32%, 100% {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    pointer-events: none;
  }
}

@keyframes fjx-auto-dot {
  0%, 4%, 32%, 100% {
    width: 38px;
    background: rgba(10, 22, 40, 0.14);
  }
  7%, 28% {
    width: 58px;
    background: #2563eb;
  }
}

.fjx-section,
.fjx-section-soft,
.fjx-section-dark,
.fjx-oea-row,
.fjx-stats-row,
.fjx-cta-row {
  content-visibility: auto;
  contain-intrinsic-size: 1px 760px;
}

.fjx-program-card,
.fjx-project-card,
.fjx-timeline-card,
.fjx-board-card,
.fjx-media-card,
.fjx-logo-card {
  backface-visibility: hidden;
}

.fjx-media-card,
.fjx-program-card,
.fjx-project-card {
  will-change: transform;
}

@media (max-width: 960px) {
  .fjx-hero-left {
    grid-template-rows: minmax(360px, auto) auto;
  }
}

@media (max-width: 600px) {
  .fjx-hero-left {
    grid-template-rows: minmax(430px, auto) auto;
  }

  .fjx-hero-dot.is-active,
  .fjx-hero:not(.fjx-js-ready) .fjx-hero-dot {
    max-width: 46px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fjx-hero-slide,
  .fjx-hero-visual,
  .fjx-hero-dot,
  .fjx-logo-track {
    animation: none !important;
    transition: none !important;
  }

  .fjx-hero-slide.is-active,
  .fjx-hero-visual.is-active {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}

/* Seguro definitivo: el contenido nunca debe depender del JS para verse.
   Solo el slider con JS listo puede ocultar sus slides inactivos. */
.fjx-section,
.fjx-section-soft,
.fjx-section-dark,
.fjx-oea-row,
.fjx-stats-row,
.fjx-ticker-row,
.fjx-cta-row,
.fjx-reveal,
.fjx-reveal:not(.is-visible),
.fjx-container.fjx-reveal,
.fjx-about-card.fjx-reveal,
.fjx-program-card.fjx-reveal,
.fjx-project-card.fjx-reveal,
.fjx-timeline-card.fjx-reveal,
.fjx-board-card.fjx-reveal,
.fjx-logo-marquee.fjx-reveal,
.fjx-media-card.fjx-reveal {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  content-visibility: visible !important;
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-left {
  display: grid !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-slide],
.fjx-hero:not(.fjx-js-ready) .fjx-hero-slide {
  grid-area: 1 / 1;
  position: relative;
  display: block !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(14px);
  animation: fjx-slide-cycle 21s ease-in-out infinite !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-slide="1"] {
  animation-delay: 7s !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-slide="2"] {
  animation-delay: 14s !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-visual],
.fjx-hero:not(.fjx-js-ready) .fjx-hero-visual {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(14px);
  animation: fjx-slide-cycle 21s ease-in-out infinite !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-visual="1"] {
  animation-delay: 7s !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-visual="2"] {
  animation-delay: 14s !important;
}

.fjx-hero.fjx-js-ready .fjx-hero-slide,
.fjx-hero.fjx-js-ready .fjx-hero-visual {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.fjx-hero.fjx-js-ready .fjx-hero-slide.is-active,
.fjx-hero.fjx-js-ready .fjx-hero-visual.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* Respaldo real:
   sin JS, el hero rota con CSS sin apilar slides;
   con JS, el slider conserva control interactivo. */
.fjx-hero:not(.fjx-js-ready) [data-fjx-dot],
.fjx-hero:not(.fjx-js-ready) .fjx-hero-dot {
  animation: fjx-slide-dot-cycle 21s ease-in-out infinite !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-dot="1"] {
  animation-delay: 7s !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-dot="2"] {
  animation-delay: 14s !important;
}

/* Refinamiento vanguardia: hero estable, historia horizontal y liquid glass institucional */
.fjx-hero-row {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(37, 99, 235, 0.08), transparent 32%),
    radial-gradient(circle at 92% 14%, rgba(6, 182, 212, 0.08), transparent 30%),
    linear-gradient(180deg, var(--fjx-blanco) 0%, #f8fbff 100%);
}

.fjx-hero-row::before {
  content: "";
  position: absolute;
  inset: 110px 5vw auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(37, 99, 235, 0.28), rgba(6, 182, 212, 0.2), transparent);
  pointer-events: none;
}

.fjx-institution-core,
.fjx-program-chip,
.fjx-program-tile,
.fjx-project-mini,
.fjx-about-card,
.fjx-program-card,
.fjx-timeline-card,
.fjx-board-card,
.fjx-logo-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.58));
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.7),
    0 24px 70px rgba(10, 22, 40, 0.08);
}

@supports ((backdrop-filter: blur(18px)) or (-webkit-backdrop-filter: blur(18px))) {
  .fjx-institution-core,
  .fjx-program-chip,
  .fjx-program-tile,
  .fjx-project-mini,
  .fjx-about-card,
  .fjx-program-card,
  .fjx-timeline-card,
  .fjx-board-card,
  .fjx-logo-card,
  .fjx-credentials-wide {
    -webkit-backdrop-filter: blur(20px) saturate(1.35);
    backdrop-filter: blur(20px) saturate(1.35);
  }
}

.fjx-identity-stage::after {
  content: "";
  position: absolute;
  inset: 4%;
  border-radius: 999px;
  border: 1px solid rgba(37, 99, 235, 0.16);
  background:
    conic-gradient(from 120deg, transparent 0 16%, rgba(37, 99, 235, 0.28) 18%, transparent 24% 54%, rgba(245, 158, 11, 0.28) 58%, transparent 64% 100%);
  -webkit-mask: radial-gradient(circle, transparent 57%, #000 58%, #000 61%, transparent 62%);
  mask: radial-gradient(circle, transparent 57%, #000 58%, #000 61%, transparent 62%);
  animation: fjx-orbit-line 18s linear infinite;
  pointer-events: none;
}

.fjx-institution-core {
  overflow: hidden;
}

.fjx-institution-core::after {
  content: "";
  position: absolute;
  inset: -80% auto -80% -48%;
  width: 54%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.72), transparent);
  transform: rotate(18deg);
  animation: fjx-liquid-sweep 6.5s ease-in-out infinite;
}

.fjx-global-stage {
  position: relative;
  isolation: isolate;
}

.fjx-global-stage::before,
.fjx-global-stage::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 999px;
  pointer-events: none;
}

.fjx-global-stage::before {
  inset: -30px 28px auto auto;
  width: 220px;
  height: 220px;
  background:
    radial-gradient(circle, rgba(6, 182, 212, 0.2), transparent 60%),
    repeating-radial-gradient(circle, rgba(37, 99, 235, 0.18) 0 1px, transparent 1px 22px);
  animation: fjx-global-pulse 7s ease-in-out infinite;
}

.fjx-global-stage::after {
  inset: auto auto -20px 18px;
  width: 180px;
  height: 180px;
  background: radial-gradient(circle at 35% 35%, rgba(245, 158, 11, 0.18), transparent 62%);
  filter: blur(4px);
  animation: fjx-float-soft 8s ease-in-out infinite;
}

.fjx-global-card {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(1, 22, 39, 0.94), rgba(1, 35, 64, 0.88)),
    radial-gradient(circle at 88% 12%, rgba(6, 182, 212, 0.16), transparent 34%);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.fjx-global-card::after {
  content: "";
  position: absolute;
  inset: -40% -20% auto auto;
  width: 55%;
  height: 120%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.12), transparent);
  transform: rotate(24deg);
  animation: fjx-liquid-sweep 8s ease-in-out infinite;
}

@keyframes fjx-orbit-line {
  to { transform: rotate(360deg); }
}

@keyframes fjx-liquid-sweep {
  0%, 42%, 100% { translate: 0 0; opacity: 0; }
  52% { translate: 260% 0; opacity: 1; }
  64% { translate: 430% 0; opacity: 0; }
}

@keyframes fjx-global-pulse {
  0%, 100% { transform: scale(0.96); opacity: 0.56; }
  50% { transform: scale(1.06); opacity: 0.88; }
}

@keyframes fjx-float-soft {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(10px, -12px, 0); }
}

@keyframes fjx-slide-cycle {
  0%, 27% {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
  32%, 100% {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-12px);
  }
}

@keyframes fjx-slide-dot-cycle {
  0%, 27% {
    width: 58px;
    background: var(--fjx-blue);
  }
  32%, 100% {
    width: 38px;
    background: rgba(10, 22, 40, 0.14);
  }
}

/* Profundidad visual: alternancia moderna entre vidrio claro, grises frios y oscuros */
#nosotros.fjx-section {
  background:
    radial-gradient(circle at 10% 14%, rgba(37, 99, 235, 0.08), transparent 30%),
    linear-gradient(180deg, var(--fjx-blanco) 0%, var(--fjx-fondo-suave) 100%);
}

#programas.fjx-section-soft {
  background:
    radial-gradient(circle at 90% 6%, rgba(6, 182, 212, 0.09), transparent 28%),
    linear-gradient(180deg, #f2f6fb 0%, var(--fjx-blanco) 100%);
}

#equipo.fjx-section-soft {
  background:
    radial-gradient(circle at 14% 20%, rgba(124, 58, 237, 0.075), transparent 30%),
    linear-gradient(180deg, #f8fafc 0%, #eef3fa 100%);
}

.fjx-section-logos {
  background:
    linear-gradient(90deg, rgba(37, 99, 235, 0.04), transparent 26%, rgba(6, 182, 212, 0.04)),
    linear-gradient(180deg, #f7f9fd 0%, var(--fjx-blanco) 48%, #f4f7fb 100%);
}

#proyectos.fjx-section-dark,
#medios.fjx-section-dark {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 12%, rgba(37, 99, 235, 0.22), transparent 34%),
    radial-gradient(circle at 92% 18%, rgba(6, 182, 212, 0.16), transparent 30%),
    linear-gradient(145deg, #01111f 0%, #001d35 56%, #04101f 100%);
}

#proyectos.fjx-section-dark::before,
#medios.fjx-section-dark::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
  pointer-events: none;
}

#proyectos .fjx-container,
#proyectos .fjx-card-grid,
#medios .fjx-container,
#medios .fjx-video-grid {
  position: relative;
  z-index: 1;
}

#proyectos .fjx-project-card,
#medios .fjx-media-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.045));
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 26px 72px rgba(0, 0, 0, 0.2);
}

@supports ((backdrop-filter: blur(18px)) or (-webkit-backdrop-filter: blur(18px))) {
  #proyectos .fjx-project-card,
  #medios .fjx-media-card,
  #historia .fjx-timeline-card {
    -webkit-backdrop-filter: blur(22px) saturate(1.28);
    backdrop-filter: blur(22px) saturate(1.28);
  }
}

.fjx-timeline {
  max-width: min(1280px, 100%);
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(245px, 305px);
  gap: 18px;
  margin: 54px auto 0;
  padding: 58px 8px 18px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.fjx-timeline::before {
  left: 8px;
  right: 8px;
  top: 24px;
  bottom: auto;
  width: auto;
  height: 2px;
  transform: none;
  background: linear-gradient(90deg, var(--fjx-blue), var(--fjx-purple), var(--fjx-red), var(--fjx-green), var(--fjx-gold));
}

.fjx-timeline::-webkit-scrollbar {
  height: 8px;
}

.fjx-timeline::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.24);
}

.fjx-timeline-item {
  display: block;
  min-width: 0;
  margin-bottom: 0;
  scroll-snap-align: start;
}

.fjx-timeline-item > div:empty {
  display: none;
}

.fjx-timeline-dot {
  position: absolute;
  top: -41px;
  left: 24px;
  margin: 0;
}

.fjx-timeline-card {
  min-height: 214px;
  height: 100%;
  padding: 24px 22px;
  border-radius: 24px;
}

@media (max-width: 960px) {
  .fjx-timeline {
    grid-auto-columns: minmax(230px, 82vw);
    padding-left: 0;
    padding-right: 0;
  }
}

/* Historia como linea de tiempo viva, sin depender de arrastre manual */
#historia.fjx-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 16%, rgba(37, 99, 235, 0.085), transparent 32%),
    radial-gradient(circle at 86% 12%, rgba(245, 158, 11, 0.075), transparent 28%),
    linear-gradient(180deg, #eef3f9 0%, #f9fbfd 48%, #eef4fb 100%);
}

#historia .wpb_wrapper {
  overflow: hidden;
}

#historia .fjx-timeline {
  width: max-content;
  max-width: none;
  display: flex;
  gap: 18px;
  overflow: visible;
  margin: 58px 0 0;
  padding: 60px 8px 22px;
  animation: fjx-timeline-flow 76s ease-in-out infinite alternate;
  will-change: transform;
}

#historia .fjx-timeline:hover {
  animation-play-state: paused;
}

#historia .fjx-timeline::before {
  left: 8px;
  right: 8px;
  top: 24px;
  width: auto;
}

#historia .fjx-timeline-item {
  flex: 0 0 clamp(248px, 24vw, 318px);
  min-width: 0;
}

#historia .fjx-timeline-card {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.52)),
    linear-gradient(135deg, rgba(37, 99, 235, 0.045), rgba(255, 255, 255, 0));
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    0 24px 64px rgba(10, 22, 40, 0.08);
}

@keyframes fjx-timeline-flow {
  0%, 8% {
    transform: translate3d(0, 0, 0);
  }
  92%, 100% {
    transform: translate3d(calc(-100% + min(1120px, calc(100vw - 48px))), 0, 0);
  }
}

@media (max-width: 960px) {
  #historia .fjx-timeline {
    animation-duration: 60s;
  }

  #historia .fjx-timeline-item {
    flex-basis: min(82vw, 310px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .fjx-hero:not(.fjx-js-ready) [data-fjx-slide],
  .fjx-hero:not(.fjx-js-ready) [data-fjx-visual],
  .fjx-hero:not(.fjx-js-ready) [data-fjx-dot],
  #historia .fjx-timeline,
  .fjx-identity-stage::after,
  .fjx-institution-core::after,
  .fjx-global-stage::before,
  .fjx-global-stage::after,
  .fjx-global-card::after {
    animation: none !important;
  }

  .fjx-hero:not(.fjx-js-ready) [data-fjx-slide="0"],
  .fjx-hero:not(.fjx-js-ready) [data-fjx-visual="0"] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  #historia .fjx-timeline {
    transform: none !important;
  }
}

/* Capa visual definitiva: alternancia perceptible, liquid glass y profundidad institucional */
body {
  background: #edf2f8 !important;
}

.fjx-hero-row,
.fjx-oea-row,
.fjx-section,
.fjx-section-soft,
.fjx-section-dark,
.fjx-section-logos,
.fjx-cta-row {
  position: relative !important;
  isolation: isolate;
  overflow: hidden;
}

.fjx-hero-row > .wpb_column,
.fjx-oea-row > .wpb_column,
.fjx-section > .wpb_column,
.fjx-section-soft > .wpb_column,
.fjx-section-dark > .wpb_column,
.fjx-section-logos > .wpb_column,
.fjx-cta-row > .wpb_column {
  position: relative;
  z-index: 1;
}

.fjx-hero-row {
  background:
    radial-gradient(circle at 15% 18%, rgba(37, 99, 235, 0.11), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(6, 182, 212, 0.11), transparent 30%),
    linear-gradient(180deg, var(--fjx-blanco) 0%, #f4f8fd 72%, #eaf1f8 100%) !important;
}

.fjx-oea-row {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(244, 248, 252, 0.72)),
    radial-gradient(circle at 12% 18%, rgba(37, 99, 235, 0.13), transparent 34%),
    radial-gradient(circle at 86% 20%, rgba(245, 158, 11, 0.11), transparent 30%),
    #eaf1f8 !important;
}

#nosotros.fjx-section {
  background:
    radial-gradient(circle at 8% 16%, rgba(37, 99, 235, 0.1), transparent 32%),
    linear-gradient(180deg, #f8fbff 0%, #e9f0f8 100%) !important;
}

#programas.fjx-section-soft {
  background:
    radial-gradient(circle at 88% 8%, rgba(6, 182, 212, 0.13), transparent 32%),
    radial-gradient(circle at 12% 92%, rgba(124, 58, 237, 0.07), transparent 26%),
    linear-gradient(180deg, #e8eff8 0%, #f6f9fd 58%, #eaf1f7 100%) !important;
}

#historia.fjx-section {
  background:
    radial-gradient(circle at 14% 12%, rgba(37, 99, 235, 0.13), transparent 34%),
    radial-gradient(circle at 84% 18%, rgba(245, 158, 11, 0.12), transparent 30%),
    linear-gradient(180deg, #dfe9f4 0%, #f7fafc 46%, #e6eef7 100%) !important;
}

#equipo.fjx-section-soft {
  background:
    radial-gradient(circle at 18% 18%, rgba(124, 58, 237, 0.11), transparent 32%),
    radial-gradient(circle at 86% 78%, rgba(22, 163, 74, 0.08), transparent 28%),
    linear-gradient(180deg, #f5f7fb 0%, #e4edf6 100%) !important;
}

.fjx-section-logos {
  background:
    linear-gradient(90deg, rgba(37, 99, 235, 0.055), transparent 26%, rgba(6, 182, 212, 0.06)),
    linear-gradient(180deg, #e7eef7 0%, #f9fbfd 46%, #eaf1f8 100%) !important;
}

#proyectos.fjx-section-dark,
#medios.fjx-section-dark {
  background:
    radial-gradient(circle at 12% 14%, rgba(37, 99, 235, 0.28), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(6, 182, 212, 0.19), transparent 30%),
    radial-gradient(circle at 50% 110%, rgba(124, 58, 237, 0.15), transparent 38%),
    linear-gradient(145deg, #020c17 0%, #001d35 52%, #06111f 100%) !important;
}

#proyectos.fjx-section-dark::after,
#medios.fjx-section-dark::after {
  content: "";
  position: absolute;
  inset: 12% 8%;
  z-index: 0;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.09), transparent 66%);
  filter: blur(32px);
  pointer-events: none;
}

.fjx-credentials-wide,
.fjx-about-card,
.fjx-program-card,
.fjx-project-card,
.fjx-timeline-card,
.fjx-board-card,
.fjx-logo-card,
.fjx-media-card {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.46)) !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    0 24px 70px rgba(10, 22, 40, 0.09) !important;
}

#proyectos .fjx-project-card,
#medios .fjx-media-card {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.055)) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    0 30px 78px rgba(0, 0, 0, 0.24) !important;
}

.fjx-program-logo,
.fjx-project-logo,
.fjx-project-mini,
.fjx-program-chip,
.fjx-program-tile,
.fjx-institution-core {
  background: rgba(255, 255, 255, 0.68) !important;
  border: 1px solid rgba(255, 255, 255, 0.68);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.74),
    0 18px 48px rgba(10, 22, 40, 0.1) !important;
}

.fjx-section .fjx-kicker,
.fjx-section-soft .fjx-kicker {
  color: var(--fjx-enlace);
}

@supports ((backdrop-filter: blur(18px)) or (-webkit-backdrop-filter: blur(18px))) {
  .fjx-credentials-wide,
  .fjx-about-card,
  .fjx-program-card,
  .fjx-project-card,
  .fjx-timeline-card,
  .fjx-board-card,
  .fjx-logo-card,
  .fjx-media-card,
  .fjx-program-logo,
  .fjx-project-logo,
  .fjx-project-mini,
  .fjx-program-chip,
  .fjx-program-tile,
  .fjx-institution-core {
    -webkit-backdrop-filter: blur(24px) saturate(1.35);
    backdrop-filter: blur(24px) saturate(1.35);
  }
}

/* Ajuste editorial: Sobre nosotros oscuro, Historia sin cuadros y videos embebidos */
#nosotros.fjx-section {
  background:
    radial-gradient(circle at 14% 20%, rgba(37, 99, 235, 0.24), transparent 34%),
    radial-gradient(circle at 86% 16%, rgba(6, 182, 212, 0.14), transparent 30%),
    radial-gradient(circle at 42% 110%, rgba(124, 58, 237, 0.16), transparent 36%),
    linear-gradient(145deg, #020c17 0%, #061a2d 52%, #010813 100%) !important;
  color: #fff !important;
}

#nosotros .fjx-title,
#nosotros h2,
#nosotros h3,
#nosotros strong {
  color: #fff !important;
}

#nosotros .fjx-kicker {
  color: var(--fjx-gold) !important;
}

#nosotros .fjx-mv {
  border-left-color: rgba(255, 255, 255, 0.22);
}

#nosotros .fjx-mv:nth-of-type(2) {
  border-left-color: rgba(6, 182, 212, 0.56);
}

#nosotros .fjx-mv,
#nosotros .fjx-mv p,
#nosotros .fjx-about-card,
#nosotros .fjx-about-card p,
#nosotros .fjx-about-card div,
#nosotros .fjx-about-card span {
  color: rgba(255, 255, 255, 0.72) !important;
}

#nosotros .fjx-about-card {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.055)) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 28px 80px rgba(0, 0, 0, 0.24) !important;
}

#nosotros .fjx-about-card .fjx-kicker {
  color: var(--fjx-gold) !important;
}

#nosotros .fjx-tags {
  color: rgba(255, 255, 255, 0.78) !important;
}

#nosotros .fjx-milestones {
  border-top-color: rgba(255, 255, 255, 0.12);
}

#nosotros .fjx-milestones strong {
  color: var(--fjx-cyan) !important;
}

#historia .fjx-timeline {
  align-items: flex-start;
  padding-top: 88px;
  padding-bottom: 28px;
}

#historia .fjx-timeline::before {
  top: 42px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--fjx-blue), var(--fjx-gold), var(--fjx-purple), var(--fjx-red), var(--fjx-green), var(--fjx-cyan));
  box-shadow: 0 10px 30px rgba(37, 99, 235, 0.16);
}

#historia .fjx-timeline-item {
  position: relative;
  padding-top: 0;
}

#historia .fjx-timeline-card {
  min-height: 0;
  padding: 0 18px 0 0;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#historia .fjx-timeline-dot {
  top: -55px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 4px solid rgba(255, 255, 255, 0.94);
  box-shadow:
    0 0 0 4px rgba(37, 99, 235, 0.12),
    0 12px 30px rgba(10, 22, 40, 0.18);
}

#historia .fjx-timeline-item:nth-child(1) .fjx-timeline-dot { background: var(--fjx-blue); }
#historia .fjx-timeline-item:nth-child(2) .fjx-timeline-dot { background: var(--fjx-gold); }
#historia .fjx-timeline-item:nth-child(3) .fjx-timeline-dot { background: var(--fjx-purple); }
#historia .fjx-timeline-item:nth-child(4) .fjx-timeline-dot { background: var(--fjx-red); }
#historia .fjx-timeline-item:nth-child(5) .fjx-timeline-dot { background: var(--fjx-green); }
#historia .fjx-timeline-item:nth-child(6) .fjx-timeline-dot { background: var(--fjx-cyan); }
#historia .fjx-timeline-item:nth-child(7) .fjx-timeline-dot { background: var(--fjx-blue); }
#historia .fjx-timeline-item:nth-child(8) .fjx-timeline-dot { background: var(--fjx-gold); }
#historia .fjx-timeline-item:nth-child(9) .fjx-timeline-dot { background: var(--fjx-purple); }
#historia .fjx-timeline-item:nth-child(10) .fjx-timeline-dot { background: var(--fjx-green); }
#historia .fjx-timeline-item:nth-child(11) .fjx-timeline-dot { background: var(--fjx-red); }

#historia .fjx-timeline-date {
  margin-bottom: 10px;
  color: var(--fjx-blue);
  font-size: 12px;
}

#historia .fjx-timeline-card h3 {
  max-width: 260px;
  margin-bottom: 8px;
  color: var(--fjx-ink);
  font-size: 20px;
  line-height: 1.12;
}

#historia .fjx-timeline-card p,
#historia .fjx-timeline-card {
  color: var(--fjx-ink-2);
  font-size: 14px;
  line-height: 1.58;
}

.fjx-media-embed {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #071a2d;
}

.fjx-media-embed iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}

.fjx-media-card h3 {
  min-height: 74px;
}

/* V5: parallax, flip cards, logos proporcionales, timeline infinita y equipo fotografico */
@media (min-width: 961px) {
  .fjx-hero-row,
  .fjx-oea-row,
  #nosotros.fjx-section,
  #programas.fjx-section-soft,
  #proyectos.fjx-section-dark,
  #historia.fjx-section,
  #equipo.fjx-section-soft,
  .fjx-section-logos,
  #medios.fjx-section-dark {
    background-attachment: fixed !important;
    background-position: center calc(50% + var(--fjx-parallax, 0px)) !important;
  }
}

.fjx-credential-logos {
  max-width: 560px;
}

.fjx-logo-tier {
  gap: clamp(22px, 3vw, 38px);
}

.fjx-logo-tier span {
  min-height: 112px;
}

.fjx-credential-logos .fjx-oea-logo img,
.fjx-credential-logos .fjx-un-logo img,
.fjx-credential-logos .fjx-ministry-logo img,
.fjx-credential-logos .fjx-minpre-logo img {
  width: auto !important;
  max-width: 188px !important;
  max-height: 82px !important;
  object-fit: contain;
}

.fjx-credential-logos .fjx-un-logo img {
  max-width: 110px !important;
}

.fjx-credential-logos .fjx-casfl-seal img {
  max-width: 300px !important;
  max-height: 94px !important;
}

#proyectos .fjx-card-grid {
  perspective: 1200px;
}

#proyectos .fjx-project-card {
  min-height: 245px;
  display: grid;
  place-items: center;
  padding: 0 !important;
  transform-style: preserve-3d;
  transition: transform 0.7s cubic-bezier(.2,.8,.2,1), box-shadow 0.3s ease !important;
}

#proyectos .fjx-project-card:hover {
  transform: translateY(-6px) rotateY(180deg) !important;
}

.fjx-project-face {
  grid-area: 1 / 1;
  width: 100%;
  height: 100%;
  min-height: 245px;
  display: grid;
  place-items: center;
  padding: 32px 24px;
  border-radius: inherit;
  backface-visibility: hidden;
}

.fjx-project-front h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(24px, 2vw, 34px);
  line-height: 1.08;
  text-align: center;
}

.fjx-project-back {
  transform: rotateY(180deg);
}

.fjx-project-back .fjx-project-logo {
  width: min(210px, 72%);
  height: 112px;
  margin: 0;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.78) !important;
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.76),
    0 24px 60px rgba(0, 0, 0, 0.2) !important;
}

.fjx-project-back .fjx-project-logo img {
  max-width: 78%;
  max-height: 72px;
  object-fit: contain;
}

.fjx-program-card {
  min-height: 300px;
}

.fjx-program-main {
  transition: opacity 0.28s ease, transform 0.32s ease, filter 0.32s ease;
}

.fjx-program-hover {
  position: absolute;
  inset: 18px;
  z-index: 3;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 22px;
  padding: 28px;
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.42)) !important;
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.76),
    0 24px 70px rgba(10, 22, 40, 0.14);
  opacity: 0;
  visibility: hidden;
  transform: scale(0.96) translateY(10px);
  transition: opacity 0.28s ease, transform 0.32s ease, visibility 0.28s ease;
}

.fjx-program-hover img {
  width: min(132px, 54%);
  max-height: 112px;
  object-fit: contain;
}

.fjx-program-hover a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 13px 22px;
  border-radius: 999px;
  background: var(--fjx-ink);
  color: #fff !important;
  font-family: "Outfit", sans-serif;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none !important;
}

.fjx-program-card:hover .fjx-program-main {
  opacity: 0.08;
  transform: scale(0.96);
  filter: blur(5px);
}

.fjx-program-card:hover .fjx-program-hover {
  opacity: 1;
  visibility: visible;
  transform: scale(1) translateY(0);
}

.fjx-section-logos {
  background:
    radial-gradient(circle at 12% 10%, rgba(37, 99, 235, 0.14), transparent 32%),
    radial-gradient(circle at 88% 30%, rgba(6, 182, 212, 0.12), transparent 30%),
    linear-gradient(180deg, #e8eff8 0%, #f8fbfd 54%, #eaf1f8 100%) !important;
}

.fjx-logo-marquee {
  display: grid;
  gap: 18px;
  padding: 14px 0;
}

.fjx-logo-line {
  position: relative;
  padding: 28px 0 0;
  border-radius: 28px;
}

.fjx-logo-line-label {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: 3;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  color: var(--fjx-ink-2);
  font-family: "Outfit", sans-serif;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 14px 34px rgba(10, 22, 40, 0.08);
}

.fjx-logo-track {
  gap: 16px;
  animation-duration: 46s;
}

.fjx-logo-line:nth-child(2) .fjx-logo-track {
  animation-direction: reverse;
  animation-duration: 54s;
}

.fjx-logo-line:nth-child(3) .fjx-logo-track {
  animation-duration: 62s;
}

.fjx-logo-card {
  width: 164px;
  height: 78px;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.38)) !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.75),
    0 20px 56px rgba(10, 22, 40, 0.09) !important;
}

.fjx-logo-card img {
  max-width: 118px;
  max-height: 46px;
  opacity: 0.9;
}

.fjx-logo-card-wide img,
.fjx-logo-card-oea img {
  max-width: 126px;
  max-height: 50px;
}

@supports ((backdrop-filter: blur(18px)) or (-webkit-backdrop-filter: blur(18px))) {
  .fjx-logo-line-label,
  .fjx-logo-card,
  .fjx-program-hover,
  .fjx-project-back .fjx-project-logo {
    -webkit-backdrop-filter: blur(24px) saturate(1.32);
    backdrop-filter: blur(24px) saturate(1.32);
  }
}

#historia .fjx-timeline {
  animation: fjx-timeline-loop 72s linear infinite !important;
}

#historia .fjx-timeline.is-looped .fjx-timeline-item {
  flex-basis: clamp(248px, 24vw, 318px);
}

#historia .fjx-timeline-item:nth-child(6n+1) .fjx-timeline-dot { background: var(--fjx-blue); }
#historia .fjx-timeline-item:nth-child(6n+2) .fjx-timeline-dot { background: var(--fjx-gold); }
#historia .fjx-timeline-item:nth-child(6n+3) .fjx-timeline-dot { background: var(--fjx-purple); }
#historia .fjx-timeline-item:nth-child(6n+4) .fjx-timeline-dot { background: var(--fjx-red); }
#historia .fjx-timeline-item:nth-child(6n+5) .fjx-timeline-dot { background: var(--fjx-green); }
#historia .fjx-timeline-item:nth-child(6n+6) .fjx-timeline-dot { background: var(--fjx-cyan); }

#historia .fjx-timeline:hover {
  animation-play-state: paused !important;
}

@keyframes fjx-timeline-loop {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

#equipo .fjx-card-grid {
  align-items: stretch;
}

#equipo .fjx-board-card {
  position: relative;
  overflow: hidden;
  min-height: 310px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0;
  border: 0 !important;
  border-radius: 26px;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left;
}

.fjx-team-photo {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(135deg, rgba(37, 99, 235, 0.34), rgba(1, 22, 39, 0.08)),
    var(--fjx-ink);
  background-size: cover;
  background-position: center top;
  transform: scale(1.01);
  transition: transform 0.35s ease, filter 0.35s ease;
}

.fjx-team-placeholder {
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.18), transparent 32%),
    linear-gradient(135deg, rgba(37, 99, 235, 0.86), rgba(1, 22, 39, 0.94));
}

.fjx-team-placeholder span {
  color: rgba(255, 255, 255, 0.92);
  font-family: "Outfit", sans-serif;
  font-size: 42px;
  font-weight: 900;
}

#equipo .fjx-board-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 52%;
  background: linear-gradient(180deg, transparent, rgba(1, 14, 26, 0.86));
  pointer-events: none;
}

#equipo .fjx-board-card h3,
#equipo .fjx-board-card p {
  position: relative;
  z-index: 1;
  margin-left: 18px;
  margin-right: 18px;
  color: #fff !important;
}

#equipo .fjx-board-card h3 {
  margin-bottom: 4px;
  font-size: 17px;
}

#equipo .fjx-board-card p {
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.68) !important;
}

#equipo .fjx-board-card:hover .fjx-team-photo {
  transform: scale(1.06);
  filter: saturate(1.05);
}

@media (max-width: 960px) {
  #proyectos .fjx-project-card,
  .fjx-project-face {
    min-height: 190px;
  }

  #equipo .fjx-board-card {
    min-height: 280px;
  }
}

/* V6: proyectos con revelacion limpia y aliados clasificados con mas aire visual */
#proyectos .fjx-card-grid {
  perspective: none !important;
}

#proyectos .fjx-project-card {
  position: relative;
  min-height: 292px !important;
  display: block !important;
  overflow: hidden;
  padding: 0 !important;
  transform: none !important;
  transform-style: flat !important;
  background:
    radial-gradient(circle at 16% 14%, rgba(255, 255, 255, 0.12), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.045)) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}

#proyectos .fjx-project-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 28px 78px rgba(0, 0, 0, 0.26) !important;
}

#proyectos .fjx-project-face {
  position: absolute;
  inset: 0;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: inherit;
  backface-visibility: visible !important;
  transform: none !important;
}

#proyectos .fjx-project-front {
  z-index: 1;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 16px;
  padding: 34px 30px !important;
  text-align: left;
  transition: opacity 0.28s ease, transform 0.32s ease, filter 0.32s ease;
}

#proyectos .fjx-project-front::before {
  content: "";
  position: absolute;
  inset: auto 24px 24px;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.34), transparent);
}

#proyectos .fjx-project-front h3 {
  max-width: 280px;
  color: #fff !important;
  font-size: clamp(25px, 2.2vw, 34px) !important;
  line-height: 1.03 !important;
  text-align: left !important;
}

.fjx-project-desc {
  max-width: 290px;
  margin: 0;
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: 15px;
  line-height: 1.55;
}

#proyectos .fjx-project-back {
  z-index: 2;
  inset: 18px;
  display: grid !important;
  place-items: center;
  padding: 24px !important;
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.58)) !important;
  border: 1px solid rgba(255, 255, 255, 0.74);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    0 22px 64px rgba(0, 0, 0, 0.22);
  opacity: 0;
  visibility: hidden;
  transform: scale(0.94) translateY(12px) !important;
  transition: opacity 0.28s ease, transform 0.32s ease, visibility 0.28s ease;
}

#proyectos .fjx-project-back .fjx-project-logo {
  width: min(250px, 86%) !important;
  height: 142px !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#proyectos .fjx-project-back .fjx-project-logo img {
  max-width: 100% !important;
  max-height: 120px !important;
  opacity: 1;
  object-fit: contain;
}

#proyectos .fjx-project-card:hover .fjx-project-front {
  opacity: 0;
  transform: translateY(12px) scale(0.98) !important;
  filter: blur(5px);
}

#proyectos .fjx-project-card:hover .fjx-project-back {
  opacity: 1;
  visibility: visible;
  transform: scale(1) translateY(0) !important;
}

.fjx-logo-groups {
  gap: clamp(28px, 4vw, 44px) !important;
  margin-top: clamp(34px, 5vw, 58px);
  padding: 6px 0 20px !important;
}

.fjx-logo-groups .fjx-logo-line {
  overflow: hidden;
  padding: 42px 0 16px !important;
  border-radius: 34px;
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 255, 255, 0.9), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.16)) !important;
  border: 1px solid rgba(255, 255, 255, 0.52);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.7),
    0 28px 70px rgba(10, 22, 40, 0.06);
}

.fjx-logo-groups .fjx-logo-line-label {
  top: 10px !important;
  padding: 8px 18px !important;
  background: rgba(255, 255, 255, 0.76) !important;
  color: #3b4966 !important;
  font-size: 10px !important;
  letter-spacing: 0.11em !important;
}

.fjx-logo-groups .fjx-logo-track {
  gap: 28px !important;
  padding: 4px 28px 10px;
  animation-duration: 74s !important;
}

.fjx-logo-groups .fjx-logo-line:nth-child(2) .fjx-logo-track {
  animation-direction: reverse;
  animation-duration: 86s !important;
}

.fjx-logo-groups .fjx-logo-line:nth-child(3) .fjx-logo-track {
  animation-duration: 96s !important;
}

.fjx-logo-groups .fjx-logo-card {
  width: 218px !important;
  height: 108px !important;
  flex: 0 0 218px;
  border-radius: 28px !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.74), rgba(255, 255, 255, 0.34)) !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    0 18px 48px rgba(10, 22, 40, 0.07) !important;
}

.fjx-logo-groups .fjx-logo-card img {
  max-width: 160px !important;
  max-height: 66px !important;
  object-fit: contain;
  opacity: 0.96;
}

.fjx-logo-groups .fjx-logo-card-wide img,
.fjx-logo-groups .fjx-logo-card-oea img {
  max-width: 170px !important;
  max-height: 72px !important;
}

.fjx-logo-wordmark {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 18px;
  text-align: center;
}

.fjx-logo-wordmark strong {
  color: var(--fjx-ink) !important;
  font-family: "Outfit", sans-serif;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.fjx-logo-wordmark small {
  color: rgba(61, 74, 102, 0.72);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
}

@supports ((backdrop-filter: blur(18px)) or (-webkit-backdrop-filter: blur(18px))) {
  #proyectos .fjx-project-back,
  .fjx-logo-groups .fjx-logo-line,
  .fjx-logo-groups .fjx-logo-card {
    -webkit-backdrop-filter: blur(26px) saturate(1.25);
    backdrop-filter: blur(26px) saturate(1.25);
  }
}

@media (max-width: 960px) {
  #proyectos .fjx-project-card {
    min-height: 260px !important;
  }

  #proyectos .fjx-project-front {
    padding: 28px 24px !important;
  }

  .fjx-logo-groups .fjx-logo-line {
    padding-top: 48px !important;
    border-radius: 26px;
  }

  .fjx-logo-groups .fjx-logo-line-label {
    max-width: calc(100% - 32px);
    white-space: normal !important;
    text-align: center;
  }

  .fjx-logo-groups .fjx-logo-card {
    width: 176px !important;
    height: 92px !important;
    flex-basis: 176px;
  }

  .fjx-logo-groups .fjx-logo-card img {
    max-width: 128px !important;
    max-height: 56px !important;
  }

  .fjx-logo-wordmark strong {
    font-size: 17px;
  }
}

/* V7: aliados solo con logos reales, etiquetas limpias y slide global corregido */
.fjx-project-minis {
  align-items: center;
}

.fjx-project-mini {
  position: relative;
  overflow: hidden !important;
  width: 100%;
  min-width: 0;
}

.fjx-project-mini img {
  width: auto !important;
  height: auto !important;
  max-width: 72% !important;
  max-height: 44px !important;
  object-fit: contain !important;
}

.fjx-project-mini:nth-child(3) img {
  max-width: 48px !important;
  max-height: 48px !important;
}

.fjx-logo-groups {
  gap: clamp(44px, 6vw, 72px) !important;
}

.fjx-logo-groups .fjx-logo-line {
  padding: 0 0 18px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden;
}

.fjx-logo-groups .fjx-logo-line-label {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  display: block;
  width: fit-content;
  margin: 0 auto 24px !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: rgba(61, 74, 102, 0.78) !important;
  letter-spacing: 0.14em !important;
}

.fjx-logo-groups .fjx-logo-track {
  padding: 4px 28px 18px !important;
  gap: 34px !important;
}

.fjx-logo-groups .fjx-logo-card {
  width: 224px !important;
  height: 112px !important;
  flex: 0 0 224px !important;
  padding: 20px !important;
  overflow: hidden;
}

.fjx-logo-groups .fjx-logo-card img {
  width: auto !important;
  height: auto !important;
  max-width: 166px !important;
  max-height: 68px !important;
  object-fit: contain !important;
}

.fjx-logo-groups .fjx-logo-card-wide img {
  max-width: 178px !important;
  max-height: 72px !important;
}

.fjx-logo-groups .fjx-logo-card-oea img {
  max-width: 150px !important;
  max-height: 68px !important;
}

.fjx-logo-groups .fjx-logo-card-un img {
  max-width: 72px !important;
  max-height: 72px !important;
}

@media (max-width: 960px) {
  .fjx-project-mini img {
    max-height: 38px !important;
  }

  .fjx-logo-groups {
    gap: 36px !important;
  }

  .fjx-logo-groups .fjx-logo-line-label {
    margin-bottom: 18px !important;
    font-size: 9px !important;
  }

  .fjx-logo-groups .fjx-logo-card {
    width: 184px !important;
    height: 96px !important;
    flex-basis: 184px !important;
  }
}

/* V8: proyectos sin caja interna y logos del slide ajustados por marca */
#proyectos .fjx-project-back {
  inset: 0 !important;
  padding: clamp(26px, 4vw, 42px) !important;
  border-radius: inherit !important;
  border: 0 !important;
  background:
    radial-gradient(circle at 50% 32%, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.64) 42%, rgba(255, 255, 255, 0.46) 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.88),
    inset 0 -1px 0 rgba(255, 255, 255, 0.42) !important;
}

#proyectos .fjx-project-back::before {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: calc(30px - 8px);
  border: 1px solid rgba(10, 22, 40, 0.06);
  pointer-events: none;
}

#proyectos .fjx-project-back .fjx-project-logo {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#proyectos .fjx-project-back .fjx-project-logo img {
  width: auto !important;
  height: auto !important;
  max-width: min(78%, 250px) !important;
  max-height: 154px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 20px 34px rgba(10, 22, 40, 0.16));
}

#proyectos .fjx-project-back .fjx-project-logo img[alt="Global Times"],
#proyectos .fjx-project-back .fjx-project-logo img[alt="GYACT Network"] {
  max-width: min(62%, 196px) !important;
  max-height: 138px !important;
}

.fjx-project-mini img[alt="GYACT Network"],
.fjx-project-mini img[alt="Global Times"] {
  max-width: 56px !important;
  max-height: 56px !important;
}

.fjx-project-mini img[alt="Dominicana LIDERA"],
.fjx-project-mini img[alt="OHJ"] {
  max-width: 76px !important;
  max-height: 46px !important;
}

.fjx-project-mini img[alt="Global Times"] {
  transform: scale(0.92);
}

/* V9: aliados mas compactos y reclasificados */
.fjx-logo-groups {
  gap: clamp(20px, 3vw, 34px) !important;
  margin-top: clamp(22px, 3.2vw, 38px) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.fjx-logo-groups .fjx-logo-line {
  padding: 0 0 6px !important;
}

.fjx-logo-groups .fjx-logo-line-label {
  margin-bottom: 14px !important;
}

.fjx-logo-groups .fjx-logo-track {
  padding-top: 0 !important;
  padding-bottom: 8px !important;
}

@media (max-width: 960px) {
  .fjx-logo-groups {
    gap: 26px !important;
    margin-top: 26px !important;
  }

  .fjx-logo-groups .fjx-logo-line-label {
    margin-bottom: 12px !important;
  }
}

/* V10: hero con fotos humanas y proyectos sin doble marco */
.fjx-photo-stage {
  position: relative;
  width: min(560px, 100%);
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border-radius: 42px;
  overflow: visible;
}

.fjx-photo-stage::before {
  content: "";
  position: absolute;
  inset: 9% 5% 6% 12%;
  border-radius: 42px;
  background:
    radial-gradient(circle at 18% 10%, rgba(37, 99, 235, 0.18), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.16));
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow: 0 34px 86px rgba(10, 22, 40, 0.16);
  -webkit-backdrop-filter: blur(24px) saturate(1.2);
  backdrop-filter: blur(24px) saturate(1.2);
}

.fjx-photo-stage img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fjx-photo-main,
.fjx-photo-stack,
.fjx-photo-strip {
  position: absolute;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.76);
  background: rgba(255, 255, 255, 0.66);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.78),
    0 24px 70px rgba(10, 22, 40, 0.18);
}

.fjx-photo-main {
  left: 8%;
  top: 8%;
  width: 66%;
  height: 64%;
  border-radius: 34px;
  transform: rotate(-1.5deg);
}

.fjx-photo-stack {
  border-radius: 28px;
}

.fjx-photo-stack-a {
  right: 5%;
  top: 17%;
  width: 34%;
  height: 28%;
  transform: rotate(3deg);
}

.fjx-photo-stack-b {
  right: 1%;
  top: 50%;
  width: 42%;
  height: 32%;
  transform: rotate(-2deg);
}

.fjx-photo-strip {
  left: 14%;
  right: 8%;
  bottom: 5%;
  height: 18%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 8px;
  border-radius: 24px;
  -webkit-backdrop-filter: blur(18px) saturate(1.25);
  backdrop-filter: blur(18px) saturate(1.25);
}

.fjx-photo-strip img {
  border-radius: 16px;
}

#proyectos .fjx-project-back {
  background: #fff !important;
  border: 0 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.94),
    0 28px 84px rgba(0, 0, 0, 0.20) !important;
}

#proyectos .fjx-project-back::before {
  display: none !important;
}

#proyectos .fjx-project-back .fjx-project-logo {
  background: transparent !important;
  box-shadow: none !important;
}

#proyectos .fjx-project-back .fjx-project-logo img {
  filter: none !important;
  mix-blend-mode: multiply;
}

#proyectos .fjx-project-card:hover .fjx-project-back {
  transform: scale(1) translateY(0) !important;
}

@media (max-width: 960px) {
  .fjx-photo-stage {
    width: min(420px, 100%);
  }

  .fjx-photo-main {
    width: 70%;
    height: 58%;
  }
}

/* V11: estabilidad del hero tras corregir cierre HTML */
.fjx-hero-left,
.fjx-hero-right {
  min-width: 0;
}

.fjx-hero-slide {
  grid-area: 1 / 1 !important;
}

.fjx-hero.fjx-js-ready .fjx-hero-slide:not(.is-active),
.fjx-hero.fjx-js-ready .fjx-hero-visual:not(.is-active) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(14px) !important;
}

.fjx-hero.fjx-js-ready .fjx-hero-slide.is-active,
.fjx-hero.fjx-js-ready .fjx-hero-visual.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-slide="1"],
.fjx-hero:not(.fjx-js-ready) [data-fjx-visual="1"] {
  animation-delay: 4.2s !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-slide="2"],
.fjx-hero:not(.fjx-js-ready) [data-fjx-visual="2"] {
  animation-delay: 8.4s !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-slide="3"],
.fjx-hero:not(.fjx-js-ready) [data-fjx-visual="3"] {
  animation-delay: 12.6s !important;
}

/* V12: slider blindado contra apilamiento en WordPress/WPBakery.
   El fallback ya no anima; si el JS tarda, solo se ve el primer slide. */
.fjx-hero .fjx-hero-left {
  display: grid !important;
  grid-template-rows: minmax(390px, auto) auto !important;
}

.fjx-hero [data-fjx-slide],
.fjx-hero .fjx-hero-slide {
  grid-area: 1 / 1 !important;
  animation: none !important;
}

.fjx-hero [data-fjx-visual],
.fjx-hero .fjx-hero-visual {
  grid-area: 1 / 1 !important;
  animation: none !important;
}

.fjx-hero [data-fjx-slide]:not(.is-active),
.fjx-hero .fjx-hero-slide:not(.is-active),
.fjx-hero [data-fjx-visual]:not(.is-active),
.fjx-hero .fjx-hero-visual:not(.is-active) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(14px) !important;
}

.fjx-hero [data-fjx-slide].is-active,
.fjx-hero .fjx-hero-slide.is-active,
.fjx-hero [data-fjx-visual].is-active,
.fjx-hero .fjx-hero-visual.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.fjx-hero .fjx-hero-dots {
  display: flex !important;
}

.fjx-hero [data-fjx-dot],
.fjx-hero .fjx-hero-dot {
  display: block !important;
  animation: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* V13: controles manuales por CSS.
   Las 4 rayitas funcionan aunque el JS personalizado no cargue en WordPress. */
.fjx-hero-radio {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-slide],
.fjx-hero:not(.fjx-js-ready) [data-fjx-visual] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(14px) !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-slide].is-active,
.fjx-hero:not(.fjx-js-ready) [data-fjx-visual].is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-dot].is-active {
  width: 58px !important;
  background: var(--fjx-blue) !important;
}

.fjx-hero:not(.fjx-js-ready) #fjx-hero-radio-0:checked ~ .fjx-hero-left [data-fjx-slide="0"],
.fjx-hero:not(.fjx-js-ready) #fjx-hero-radio-1:checked ~ .fjx-hero-left [data-fjx-slide="1"],
.fjx-hero:not(.fjx-js-ready) #fjx-hero-radio-2:checked ~ .fjx-hero-left [data-fjx-slide="2"],
.fjx-hero:not(.fjx-js-ready) #fjx-hero-radio-3:checked ~ .fjx-hero-left [data-fjx-slide="3"],
.fjx-hero:not(.fjx-js-ready) #fjx-hero-radio-0:checked ~ .fjx-hero-right [data-fjx-visual="0"],
.fjx-hero:not(.fjx-js-ready) #fjx-hero-radio-1:checked ~ .fjx-hero-right [data-fjx-visual="1"],
.fjx-hero:not(.fjx-js-ready) #fjx-hero-radio-2:checked ~ .fjx-hero-right [data-fjx-visual="2"],
.fjx-hero:not(.fjx-js-ready) #fjx-hero-radio-3:checked ~ .fjx-hero-right [data-fjx-visual="3"] {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.fjx-hero:not(.fjx-js-ready) .fjx-hero-dot {
  width: 38px !important;
  background: rgba(10, 22, 40, 0.14) !important;
}

.fjx-hero:not(.fjx-js-ready) #fjx-hero-radio-0:checked ~ .fjx-hero-left [data-fjx-dot="0"],
.fjx-hero:not(.fjx-js-ready) #fjx-hero-radio-1:checked ~ .fjx-hero-left [data-fjx-dot="1"],
.fjx-hero:not(.fjx-js-ready) #fjx-hero-radio-2:checked ~ .fjx-hero-left [data-fjx-dot="2"],
.fjx-hero:not(.fjx-js-ready) #fjx-hero-radio-3:checked ~ .fjx-hero-left [data-fjx-dot="3"] {
  width: 58px !important;
  background: var(--fjx-blue) !important;
}

.fjx-hero-dot {
  appearance: none !important;
  -webkit-appearance: none !important;
}

/* V14: slider manual sin JavaScript.
   WordPress estaba publicando botones sin cargar JS; con enlaces internos + :target
   las 4 rayitas pueden cambiar el slide aunque WPCode no inserte nada. */
.fjx-hero-target {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  scroll-margin-top: 120px;
}

.fjx-hero .fjx-hero-dot {
  text-decoration: none !important;
}

.fjx-hero:has(.fjx-hero-target:target) [data-fjx-slide],
.fjx-hero:has(.fjx-hero-target:target) [data-fjx-visual] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(14px) !important;
}

.fjx-hero:has(#fjx-hero-target-0:target) [data-fjx-slide="0"],
.fjx-hero:has(#fjx-hero-target-1:target) [data-fjx-slide="1"],
.fjx-hero:has(#fjx-hero-target-2:target) [data-fjx-slide="2"],
.fjx-hero:has(#fjx-hero-target-3:target) [data-fjx-slide="3"],
.fjx-hero:has(#fjx-hero-target-0:target) [data-fjx-visual="0"],
.fjx-hero:has(#fjx-hero-target-1:target) [data-fjx-visual="1"],
.fjx-hero:has(#fjx-hero-target-2:target) [data-fjx-visual="2"],
.fjx-hero:has(#fjx-hero-target-3:target) [data-fjx-visual="3"] {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.fjx-hero:has(.fjx-hero-target:target) [data-fjx-dot] {
  width: 38px !important;
  background: rgba(10, 22, 40, 0.14) !important;
}

.fjx-hero:has(#fjx-hero-target-0:target) [data-fjx-dot="0"],
.fjx-hero:has(#fjx-hero-target-1:target) [data-fjx-dot="1"],
.fjx-hero:has(#fjx-hero-target-2:target) [data-fjx-dot="2"],
.fjx-hero:has(#fjx-hero-target-3:target) [data-fjx-dot="3"] {
  width: 58px !important;
  background: var(--fjx-blue) !important;
}

/* =========================================================
   FUNAJIT - Blog y entradas
   Limpio: reemplaza todos los bloques anteriores del blog.
   ========================================================= */

/* Oculta residuo de Slider Revolution únicamente en blog y entradas */
body.blog .rev_slider_wrapper,
body.blog .rs-module-wrap,
body.blog .wp-block-slider-revolution,
body.single-post .rev_slider_wrapper,
body.single-post .rs-module-wrap,
body.single-post .wp-block-slider-revolution {
  display: none !important;
}

/* Fondo general del blog */
body.blog,
body.single-post {
  background: var(--fjx-blanco) !important;
}

/* =========================
   Archivo del blog /blog/
   ========================= */

/* Contenedor del listado: margen lateral real y ancho editorial */
body.blog .content-area,
body.blog .site-main,
body.blog main,
body.blog #page-content,
body.blog #page_content_wrapper,
body.blog .page-content,
body.blog .page_content_wrapper,
body.blog .standard-wrapper,
body.blog .standard_wrapper {
  width: min(1500px, calc(100% - 120px)) !important;
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Separación superior moderada. El header ya se controla desde el tema. */
body.blog .content-area,
body.blog .site-main,
body.blog main,
body.blog #page_content_wrapper,
body.blog .page_content_wrapper {
  padding-top: 42px !important;
}

/* Tarjetas del archivo del blog */
body.blog article.post {
  background: var(--fjx-blanco) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 38px rgba(7, 26, 58, 0.10) !important;
  border: 1px solid rgba(7, 26, 58, 0.08) !important;
  margin-bottom: 34px !important;
}

/* Imágenes del archivo */
body.blog article.post .post-thumbnail img,
body.blog article.post img.wp-post-image,
body.blog article.post > a:first-child img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Categorías del archivo */
body.blog .cat-links a,
body.blog .post-categories a,
body.blog article.post a[rel="category tag"] {
  display: inline-block !important;
  background: #52c7ea !important;
  color: var(--fjx-blanco) !important;
  padding: 7px 13px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  margin: 0 6px 8px 0 !important;
}

/* Títulos del archivo */
body.blog article.post .entry-title,
body.blog article.post h2 {
  color: #252d61 !important;
  font-size: 28px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  margin-bottom: 18px !important;
}

body.blog article.post .entry-title a,
body.blog article.post h2 a {
  color: #252d61 !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

body.blog article.post .entry-title a:hover,
body.blog article.post h2 a:hover {
  color: #0057b8 !important;
}

/* Extractos del archivo */
body.blog article.post p,
body.blog article.post .entry-summary {
  color: #53617d !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

/* Meta del archivo: oculto para evitar "admin" */
body.blog article.post .entry-meta,
body.blog article.post .byline,
body.blog article.post .posted-on,
body.blog article.post .post-author-meta {
  display: none !important;
}

/* =========================
   Entradas relacionadas
   "Otras noticias"
   ========================= */

/* Contenedor principal con margen lateral real */
.related-posts-inner {
  width: min(1500px, calc(100% - 120px)) !important;
  max-width: 1500px !important;
  margin: 80px auto 76px auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Cambia visualmente "You may also like" por "Otras noticias" */
.related-posts-inner .related-posts-title {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  margin: 0 0 42px 0 !important;
  padding: 0 !important;
  height: auto !important;
  text-align: left !important;
}

.related-posts-inner .related-posts-title::after {
  content: "Otras noticias";
  display: block !important;
  color: #252d61 !important;
  font-size: clamp(28px, 2.4vw, 40px) !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
}

/* Grid de relacionadas */
.related-posts-inner .grid-posts.content-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 42px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Evita floats o anchos heredados del tema */
.related-posts-inner .grid-posts.content-inner > .post {
  display: flex !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.related-posts-inner .post-inner {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  background: transparent !important;
}

/* Imagen */
.related-posts-inner .post-image {
  width: 100% !important;
  margin: 0 0 24px 0 !important;
}

.related-posts-inner .post-image a,
.related-posts-inner .featured-image {
  display: block !important;
  width: 100% !important;
}

.related-posts-inner .post-image img {
  width: 100% !important;
  height: 230px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 12px !important;
}

/* Títulos */
.related-posts-inner .post-header,
.related-posts-inner .post-title {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  position: static !important;
  transform: none !important;
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}

.related-posts-inner .post-title a {
  display: -webkit-box !important;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  color: #252d61 !important;
  font-size: clamp(21px, 1.45vw, 27px) !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  text-transform: none !important;
}

.related-posts-inner .post-title a:hover {
  color: #0057b8 !important;
}

/* Extracto */
.related-posts-inner .post-content {
  margin: 0 0 18px 0 !important;
}

.related-posts-inner .post-content p {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  color: #5b6680 !important;
  font-size: 15.5px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* Meta de relacionadas: oculto para evitar "admin" y limpiar la sección */
.related-posts-inner .post-author-meta {
  display: none !important;
}

/* =========================
   Responsive
   ========================= */

@media (max-width: 1180px) {
  body.blog .content-area,
  body.blog .site-main,
  body.blog main,
  body.blog #page-content,
  body.blog #page_content_wrapper,
  body.blog .page-content,
  body.blog .page_content_wrapper,
  body.blog .standard-wrapper,
  body.blog .standard_wrapper,
  .related-posts-inner {
    width: min(100% - 56px, 1180px) !important;
  }

  .related-posts-inner .grid-posts.content-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 34px !important;
  }
}

@media (max-width: 768px) {
  body.blog .content-area,
  body.blog .site-main,
  body.blog main,
  body.blog #page-content,
  body.blog #page_content_wrapper,
  body.blog .page-content,
  body.blog .page_content_wrapper,
  body.blog .standard-wrapper,
  body.blog .standard_wrapper,
  .related-posts-inner {
    width: calc(100% - 32px) !important;
  }

  body.blog article.post .post-thumbnail img,
  body.blog article.post img.wp-post-image,
  body.blog article.post > a:first-child img,
  .related-posts-inner .post-image img {
    height: 210px !important;
  }

  body.blog article.post .entry-title,
  body.blog article.post h2 {
    font-size: 23px !important;
  }

  .related-posts-inner {
    margin-top: 56px !important;
  }

  .related-posts-inner .grid-posts.content-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .related-posts-inner .related-posts-title::after {
    font-size: 28px !important;
  }

  .related-posts-inner .post-title a {
    font-size: 21px !important;
    -webkit-line-clamp: 4;
  }
}
/* ═══════════════════════════════════════════════════════════════
   FUNAJIT — LIQUID GLASS LAYER
   Pegar al FINAL del CSS adicional existente. Solo añade.
   ═══════════════════════════════════════════════════════════════ */

/* ── TOKENS ─────────────────────────────────────────────────── */
:root {
  --gl: rgba(255,255,255,.68);
  --gl-b: rgba(255,255,255,.84);
  --gl-d: rgba(255,255,255,.07);
  --gl-db: rgba(255,255,255,.15);
  --blur:  blur(22px) saturate(1.9);
  --blur-sm: blur(14px) saturate(1.6);
  --shi-l: inset 0 1px 0 rgba(255,255,255,.96), 0 8px 32px rgba(10,22,40,.08);
  --shi-d: inset 0 1px 0 rgba(255,255,255,.18), 0 8px 32px rgba(0,0,0,.28);
  --slide-ms: 4200ms;
}

/* ── HERO: MESH DE COLOR DE FONDO ───────────────────────────── */
.fjx-hero-row {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg,#f0f4ff 0%,#f8f5ff 50%,#f0f9ff 100%) !important;
  isolation: isolate;
}
.fjx-hero-row::before {
  content:''; position:absolute;
  top:-140px; right:-60px;
  width:660px; height:660px; border-radius:50%;
  background:radial-gradient(circle at 40% 40%,
    rgba(37,99,235,.3) 0%,rgba(124,58,237,.18) 45%,transparent 70%);
  filter:blur(64px); pointer-events:none; z-index:-1;
}
.fjx-hero-row::after {
  content:''; position:absolute;
  bottom:-80px; left:2%;
  width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle at 50% 50%,
    rgba(22,163,74,.22) 0%,rgba(6,182,212,.13) 50%,transparent 70%);
  filter:blur(58px); pointer-events:none; z-index:-1;
}

/* ── HERO SLIDE: PANEL DE VIDRIO ─────────────────────────────
   Solo el slide activo es visible (JS lo controla con display).
   La tarjeta de vidrio da el efecto Gmail exacto.           */
.fjx-hero-slide {
  padding: 38px 44px !important;
  border-radius: 28px !important;
  background: var(--gl) !important;
  -webkit-backdrop-filter: var(--blur);
  backdrop-filter: var(--blur);
  border: 1px solid var(--gl-b) !important;
  box-shadow: var(--shi-l) !important;
}

/* ── HERO CHIPS / CORE: VIDRIO PREMIUM ───────────────────────*/
.fjx-program-chip {
  background: rgba(255,255,255,.8) !important;
  -webkit-backdrop-filter: var(--blur-sm);
  backdrop-filter: var(--blur-sm);
  border: 1px solid rgba(255,255,255,.92) !important;
  box-shadow: 0 12px 36px rgba(10,22,40,.1), inset 0 1px 0 rgba(255,255,255,1) !important;
}
.fjx-institution-core {
  background: rgba(255,255,255,.88) !important;
  -webkit-backdrop-filter: var(--blur);
  backdrop-filter: var(--blur);
  border: 1px solid rgba(255,255,255,.96) !important;
  box-shadow: 0 28px 80px rgba(10,22,40,.14), inset 0 1px 0 rgba(255,255,255,1) !important;
}
.fjx-program-tile {
  background: rgba(255,255,255,.82) !important;
  -webkit-backdrop-filter: var(--blur-sm);
  backdrop-filter: var(--blur-sm);
  border: 1px solid rgba(255,255,255,.9);
  box-shadow: 0 12px 36px rgba(10,22,40,.09), inset 0 1px 0 rgba(255,255,255,1);
}
.fjx-global-card {
  -webkit-backdrop-filter: var(--blur-sm);
  backdrop-filter: var(--blur-sm);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--shi-d);
}
.fjx-project-mini {
  background: rgba(255,255,255,.86) !important;
  -webkit-backdrop-filter: var(--blur-sm);
  backdrop-filter: var(--blur-sm);
  border: 1px solid rgba(255,255,255,.9);
}

/* ── DOT PROGRESS ────────────────────────────────────────────*/
.fjx-hero-dot { position:relative; overflow:hidden; }
.fjx-hero-dot.is-active::after {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,.48); border-radius:inherit;
  transform:scaleX(0); transform-origin:left center;
  animation:fjx-dot-fill var(--slide-ms) linear forwards;
}
@keyframes fjx-dot-fill { to { transform:scaleX(1); } }

/* ── STATS: GLOWS + GLASS ────────────────────────────────────*/
.fjx-stats-row { position:relative; overflow:hidden; isolation:isolate; }
.fjx-stats-row::before {
  content:''; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(ellipse at 15% 50%,rgba(37,99,235,.18) 0%,transparent 55%),
    radial-gradient(ellipse at 85% 50%,rgba(22,163,74,.14) 0%,transparent 55%);
  pointer-events:none;
}
.fjx-stat-card {
  background: rgba(255,255,255,.04) !important;
  -webkit-backdrop-filter: var(--blur-sm);
  backdrop-filter: var(--blur-sm);
  box-shadow: var(--shi-d) !important;
  transition: background .3s;
}
.fjx-stat-card:hover { background: rgba(255,255,255,.09) !important; }

/* ── OEA / CREDENTIALS ───────────────────────────────────────*/
.fjx-oea-row { position:relative; overflow:hidden; isolation:isolate; }
.fjx-oea-row::before {
  content:''; position:absolute;
  top:-80px; left:-60px;
  width:500px; height:500px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,rgba(37,99,235,.12),transparent 65%);
  filter:blur(52px); pointer-events:none;
}
.fjx-oea-row::after {
  content:''; position:absolute;
  bottom:-80px; right:-40px;
  width:400px; height:400px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,rgba(6,182,212,.1),transparent 65%);
  filter:blur(48px); pointer-events:none;
}
.fjx-credentials-wide {
  background: rgba(255,255,255,.74) !important;
  -webkit-backdrop-filter: var(--blur);
  backdrop-filter: var(--blur);
  border: 1px solid rgba(255,255,255,.88) !important;
  box-shadow: var(--shi-l), 0 24px 72px rgba(10,22,40,.07) !important;
}

/* ── NOSOTROS ────────────────────────────────────────────────*/
#nosotros { position:relative; overflow:hidden; isolation:isolate; }
#nosotros::before {
  content:''; position:absolute;
  top:-60px; right:-40px;
  width:460px; height:460px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,rgba(37,99,235,.1),transparent 65%);
  filter:blur(52px); pointer-events:none;
}
.fjx-about-card {
  background: rgba(255,255,255,.72) !important;
  -webkit-backdrop-filter: var(--blur-sm);
  backdrop-filter: var(--blur-sm);
  border: 1px solid rgba(255,255,255,.88) !important;
  box-shadow: var(--shi-l) !important;
}

/* ── PROGRAMAS: FONDO BLOB + TARJETAS VIDRIO ─────────────────*/
.fjx-section-soft {
  position:relative; overflow:hidden; isolation:isolate;
  background: linear-gradient(145deg,#f0f4ff 0%,#f8f5ff 50%,#f0faff 100%) !important;
}
.fjx-section-soft::before {
  content:''; position:absolute;
  top:-100px; right:-60px;
  width:540px; height:540px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,
    rgba(124,58,237,.13) 0%,rgba(37,99,235,.07) 55%,transparent 70%);
  filter:blur(68px); pointer-events:none;
}
.fjx-section-soft::after {
  content:''; position:absolute;
  bottom:-80px; left:-40px;
  width:460px; height:460px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,
    rgba(245,158,11,.11) 0%,rgba(22,163,74,.07) 55%,transparent 70%);
  filter:blur(60px); pointer-events:none;
}

.fjx-program-card {
  background: rgba(255,255,255,.72) !important;
  -webkit-backdrop-filter: var(--blur-sm);
  backdrop-filter: var(--blur-sm);
  border: 1px solid rgba(255,255,255,.88) !important;
  box-shadow: var(--shi-l) !important;
}
.fjx-program-card:hover {
  background: rgba(255,255,255,.9) !important;
}
/* Glow por color de programa */
.fjx-p-mun:hover { box-shadow: var(--shi-l),0 20px 56px rgba(245,158,11,.18) !important; }
.fjx-p-aji:hover { box-shadow: var(--shi-l),0 20px 56px rgba(6,182,212,.18) !important; }
.fjx-p-deb:hover { box-shadow: var(--shi-l),0 20px 56px rgba(220,38,38,.16) !important; }
.fjx-p-ag:hover  { box-shadow: var(--shi-l),0 20px 56px rgba(22,163,74,.16) !important; }
.fjx-p-vol:hover { box-shadow: var(--shi-l),0 20px 56px rgba(37,99,235,.18) !important; }
.fjx-p-emp:hover { box-shadow: var(--shi-l),0 20px 56px rgba(124,58,237,.18) !important; }

/* ── PROYECTOS: DARK SECTION + GLOWS ────────────────────────*/
.fjx-section-dark {
  position:relative; overflow:hidden; isolation:isolate;
}
.fjx-section-dark::before {
  content:''; position:absolute;
  top:-100px; right:-60px;
  width:500px; height:500px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,
    rgba(37,99,235,.22) 0%,rgba(6,182,212,.08) 55%,transparent 70%);
  filter:blur(72px); pointer-events:none;
}
.fjx-section-dark::after {
  content:''; position:absolute;
  bottom:-60px; left:-40px;
  width:440px; height:440px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,
    rgba(124,58,237,.18) 0%,rgba(245,158,11,.06) 55%,transparent 70%);
  filter:blur(64px); pointer-events:none;
}

.fjx-project-card {
  background: var(--gl-d) !important;
  -webkit-backdrop-filter: var(--blur-sm);
  backdrop-filter: var(--blur-sm);
  border: 1px solid var(--gl-db) !important;
  box-shadow: var(--shi-d) !important;
}
.fjx-project-card:hover {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.24) !important;
}
.fjx-project-logo {
  background: rgba(255,255,255,.92) !important;
  -webkit-backdrop-filter: var(--blur-sm);
  backdrop-filter: var(--blur-sm);
  border: 1px solid rgba(255,255,255,.96);
}

/* ── HISTORIA: BLOBS + TARJETAS ─────────────────────────────*/
#historia {
  position:relative; overflow:hidden; isolation:isolate;
}
#historia::before {
  content:''; position:absolute;
  top:5%; right:-60px;
  width:480px; height:480px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,
    rgba(124,58,237,.1) 0%,rgba(37,99,235,.06) 55%,transparent 70%);
  filter:blur(62px); pointer-events:none;
}
#historia::after {
  content:''; position:absolute;
  bottom:5%; left:-40px;
  width:400px; height:400px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,
    rgba(22,163,74,.1) 0%,rgba(6,182,212,.06) 55%,transparent 70%);
  filter:blur(56px); pointer-events:none;
}
.fjx-timeline-card {
  background: rgba(255,255,255,.78) !important;
  -webkit-backdrop-filter: var(--blur-sm);
  backdrop-filter: var(--blur-sm);
  border: 1px solid rgba(255,255,255,.9) !important;
  box-shadow: 0 4px 20px rgba(10,22,40,.07), inset 0 1px 0 rgba(255,255,255,.95) !important;
}

/* ── EQUIPO ───────────────────────────────────────────────────*/
.fjx-board-card {
  padding: 28px 20px;
  border-radius: 24px;
  background: rgba(255,255,255,.7);
  -webkit-backdrop-filter: var(--blur-sm);
  backdrop-filter: var(--blur-sm);
  border: 1px solid rgba(255,255,255,.86);
  box-shadow: 0 4px 20px rgba(10,22,40,.06), inset 0 1px 0 rgba(255,255,255,.95);
  transition: transform .25s, box-shadow .25s;
}
.fjx-board-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(10,22,40,.1), inset 0 1px 0 rgba(255,255,255,1);
}

/* ── LOGOS: GLASS ────────────────────────────────────────────*/
.fjx-logo-card {
  background: rgba(255,255,255,.76) !important;
  -webkit-backdrop-filter: var(--blur-sm);
  backdrop-filter: var(--blur-sm);
  border: 1px solid rgba(255,255,255,.9) !important;
  box-shadow: 0 8px 24px rgba(10,22,40,.06), inset 0 1px 0 rgba(255,255,255,.95) !important;
}

/* ── MEDIOS: DARK + GLOW ─────────────────────────────────────*/
#medios { position:relative; overflow:hidden; isolation:isolate; }
#medios::before {
  content:''; position:absolute;
  top:0; right:-80px;
  width:480px; height:480px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,rgba(6,182,212,.15),transparent 65%);
  filter:blur(72px); pointer-events:none;
}
.fjx-media-card {
  background: var(--gl-d) !important;
  -webkit-backdrop-filter: var(--blur-sm);
  backdrop-filter: var(--blur-sm);
  border: 1px solid var(--gl-db) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.15) !important;
}
.fjx-media-card:hover {
  background: rgba(255,255,255,.11) !important;
  border-color: rgba(255,255,255,.22) !important;
}
.fjx-play {
  background: rgba(255,255,255,.86) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.96);
  box-shadow: 0 4px 16px rgba(0,0,0,.22);
}

/* ── CTA ─────────────────────────────────────────────────────*/
.fjx-cta-row { position:relative; overflow:hidden; }
.fjx-cta-row::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse at 20% 50%,rgba(255,255,255,.16) 0%,transparent 55%),
    radial-gradient(ellipse at 80% 50%,rgba(255,255,255,.1) 0%,transparent 55%);
}
.fjx-btn-light {
  background: rgba(255,255,255,.92) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.98);
  box-shadow: 0 8px 32px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,1);
}

/* ── TICKER: sutil glow ───────────────────────────────────── */
.fjx-ticker-row {
  position:relative; overflow:hidden;
}
.fjx-ticker-row::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%,rgba(37,99,235,.2) 0%,transparent 70%);
}

/* ── OEA POINTS: glass pills ─────────────────────────────── */
.fjx-oea-points span {
  background: rgba(238,243,255,.85) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.8);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

/* ── REDUCED MOTION ─────────────────────────────────────────*/
@media (prefers-reduced-motion:reduce) {
  .fjx-hero-dot.is-active::after { animation:none; }
  .fjx-program-card, .fjx-project-card,
  .fjx-timeline-card, .fjx-board-card { transition:none; }
}


/* =========================================================
   FUNAJIT /new · Ajuste final del hero slider
   Objetivo: slider real, horizontal y compacto.
   Pegar al final del CSS actual si no sustituyes el archivo completo.
   ========================================================= */

.fjx-hero-row .vc_empty_space {
  height: 36px !important;
}

.fjx-hero {
  min-height: clamp(460px, 64vh, 620px) !important;
  grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.82fr) !important;
  gap: clamp(28px, 3.4vw, 52px) !important;
  padding-top: clamp(28px, 3.2vw, 46px) !important;
  padding-bottom: clamp(34px, 3.8vw, 54px) !important;
}

.fjx-hero-left {
  display: grid !important;
  grid-template-rows: minmax(280px, auto) auto !important;
  align-items: center !important;
  min-width: 0 !important;
}

.fjx-hero-slide {
  grid-area: 1 / 1 !important;
  align-self: center !important;
  max-width: 860px !important;
  min-height: 0 !important;
  display: block !important;
}

.fjx-hero-title {
  max-width: 860px !important;
  font-size: clamp(38px, 4vw, 58px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.035em !important;
  margin-bottom: 14px !important;
  text-wrap: balance;
}

.fjx-hero-copy {
  max-width: 760px !important;
  font-size: clamp(15px, 1.12vw, 17px) !important;
  line-height: 1.48 !important;
  margin-bottom: 16px !important;
  text-wrap: pretty;
}

.fjx-eyebrow {
  margin-bottom: 14px !important;
}

.fjx-note {
  margin-bottom: 18px !important;
  max-width: max-content !important;
}

.fjx-actions {
  margin-bottom: 0 !important;
}

.fjx-hero-dots {
  grid-area: 2 / 1 !important;
  margin-top: 10px !important;
  align-self: start !important;
}

.fjx-hero-right {
  min-height: 390px !important;
}

.fjx-hero-visual {
  min-height: 390px !important;
}

.fjx-identity-stage,
.fjx-photo-stage,
.fjx-global-stage,
.fjx-program-showcase {
  max-height: 390px !important;
}

.fjx-hero.fjx-js-ready [data-fjx-slide],
.fjx-hero.fjx-js-ready .fjx-hero-slide,
.fjx-hero.fjx-js-ready [data-fjx-visual],
.fjx-hero.fjx-js-ready .fjx-hero-visual {
  animation: none !important;
}

.fjx-hero.fjx-js-ready [data-fjx-slide]:not(.is-active),
.fjx-hero.fjx-js-ready .fjx-hero-slide:not(.is-active),
.fjx-hero.fjx-js-ready [data-fjx-visual]:not(.is-active),
.fjx-hero.fjx-js-ready .fjx-hero-visual:not(.is-active) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(18px) !important;
}

.fjx-hero.fjx-js-ready [data-fjx-slide].is-active,
.fjx-hero.fjx-js-ready .fjx-hero-slide.is-active,
.fjx-hero.fjx-js-ready [data-fjx-visual].is-active,
.fjx-hero.fjx-js-ready .fjx-hero-visual.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(0) !important;
}

.fjx-hero [data-fjx-slide],
.fjx-hero .fjx-hero-slide,
.fjx-hero [data-fjx-visual],
.fjx-hero .fjx-hero-visual {
  transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s ease !important;
}

/* Si por alguna razón el JS todavía no carga, que al menos el primer slide quede limpio y compacto. */
.fjx-hero:not(.fjx-js-ready) [data-fjx-slide],
.fjx-hero:not(.fjx-js-ready) [data-fjx-visual] {
  animation: none !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-slide]:not(.is-active),
.fjx-hero:not(.fjx-js-ready) [data-fjx-visual]:not(.is-active) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.fjx-hero:not(.fjx-js-ready) [data-fjx-slide].is-active,
.fjx-hero:not(.fjx-js-ready) [data-fjx-visual].is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

@media (min-width: 1180px) {
  .fjx-hero-title {
    white-space: normal !important;
  }

  .fjx-hero-copy {
    max-width: 790px !important;
  }
}

@media (max-width: 960px) {
  .fjx-hero {
    min-height: auto !important;
    grid-template-columns: 1fr !important;
    padding-top: 40px !important;
    padding-bottom: 54px !important;
  }

  .fjx-hero-left {
    grid-template-rows: minmax(300px, auto) auto !important;
  }

  .fjx-hero-title {
    font-size: clamp(36px, 8.4vw, 48px) !important;
    line-height: 1.02 !important;
  }

  .fjx-hero-copy {
    max-width: 100% !important;
  }
}

@media (max-width: 600px) {
  .fjx-hero-row .vc_empty_space {
    height: 18px !important;
  }

  .fjx-hero {
    padding-top: 30px !important;
  }

  .fjx-hero-left {
    grid-template-rows: minmax(360px, auto) auto !important;
  }

  .fjx-note {
    max-width: 100% !important;
    border-radius: 18px !important;
  }
}

body.page .site-header,
body.page #masthead,
body.page header.site-header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ============================================================
   HERO — COLECCIONES DE FOTO (v12)
   3 composiciones DISTINTAS con un mismo lenguaje visual.
   Reemplaza el .fjx-photo-stage uniforme (mismo grid en los 3
   slides) que se veia clonado y descuadrado. El JS inyecta el
   markup en los visuales 1, 2 y 3.
   Lenguaje comun: marco blanco, esquina 18px, sombra suave,
   halo azul de cohesion. Composicion distinta por slide.
   Caja util del hero: ~560 x 390 (apaisada).
   ============================================================ */
.fjx-collage {
  position: relative;
  width: 100%;
  max-width: 560px;
  height: 390px;
  margin: 0 auto;
}

/* halo de cohesion (mismo en los 3, da unidad de sistema) */
.fjx-collage::before {
  content: "";
  position: absolute;
  inset: -8% -5% -10% -7%;
  z-index: 0;
  background:
    radial-gradient(120% 95% at 82% 4%, rgba(37, 99, 235, 0.16), transparent 58%),
    radial-gradient(90% 80% at 8% 100%, rgba(245, 158, 11, 0.10), transparent 60%);
  filter: blur(6px);
  pointer-events: none;
}

.fjx-collage figure {
  position: relative;
  z-index: 1;
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #e9eef5;
  border: 3px solid var(--fjx-blanco);
  box-shadow: 0 16px 38px rgba(10, 22, 40, 0.16);
}

.fjx-collage figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
}

/* ---- Layout A — MOSAICO (slide 1, personas/comunidad) ----
   Pared de galeria organizada: 2 piezas arriba + 3 abajo.
   Plana, alineada, sin rotaciones: lee como "comunidad". */
.fjx-collage--mosaic {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(12, 1fr);
  gap: 10px;
}
.fjx-collage--mosaic .fjx-c-a { grid-area: 1 / 1 / 8 / 8; }
.fjx-collage--mosaic .fjx-c-b { grid-area: 1 / 8 / 8 / 13; }
.fjx-collage--mosaic .fjx-c-c { grid-area: 8 / 1 / 13 / 5; }
.fjx-collage--mosaic .fjx-c-d { grid-area: 8 / 5 / 13 / 9; }
.fjx-collage--mosaic .fjx-c-e { grid-area: 8 / 9 / 13 / 13; }

/* ---- Layout B — EDITORIAL STACK (slide 2, formacion) ----
   Hero apaisado dominante + duo alineado abajo. Calmado,
   estructurado: lee como "rutas / formacion". */
.fjx-collage--stack {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(12, 1fr);
  gap: 12px;
}
.fjx-collage--stack .fjx-c-hero { grid-area: 1 / 1 / 8 / 13; }
.fjx-collage--stack .fjx-c-1 { grid-area: 8 / 1 / 13 / 7; }
.fjx-collage--stack .fjx-c-2 { grid-area: 8 / 7 / 13 / 13; }
.fjx-collage--stack .fjx-c-hero img { object-position: center 42%; }

/* ---- Layout C — FEATURE EN CAPAS (slide 3, global) ----
   Una toma cinematografica grande (ONU) + 2 credenciales
   flotando con profundidad. Lee como "alcance / al mundo". */
.fjx-collage--feature .fjx-c-stage {
  position: absolute;
  z-index: 1;
  inset: 4% 26% 4% 0;
  border-radius: 22px;
}
.fjx-collage--feature .fjx-c-stage img { object-position: center 40%; }
.fjx-collage--feature .fjx-c-pin1 {
  position: absolute;
  z-index: 3;
  top: 2%;
  right: 0;
  width: 44%;
  height: 50%;
  transform: rotate(2deg);
  box-shadow: 0 20px 44px rgba(10, 22, 40, 0.22);
}
.fjx-collage--feature .fjx-c-pin2 {
  position: absolute;
  z-index: 2;
  bottom: 2%;
  right: 7%;
  width: 40%;
  height: 46%;
  transform: rotate(-2.5deg);
  box-shadow: 0 20px 44px rgba(10, 22, 40, 0.22);
}

/* Ajustes responsive: la caja del hero se reduce */
@media (max-width: 960px) {
  .fjx-collage {
    height: 340px;
    max-width: 520px;
  }
}
@media (max-width: 600px) {
  .fjx-collage {
    height: 300px;
  }
  .fjx-collage figure { border-width: 2px; }
}

/* ============================================================
   #equipo REDISEÑADO (v13)
   Mensaje del Fundador (parallax) + Equipo ejecutivo + Board.
   Usa tokens del sistema (Outfit/DM Sans, --fjx-ink/blue/purple).
   El parallax lo activa el script del hero (data-fjx-parallax),
   autonomo: no depende de funajit-home.js.
   ============================================================ */

/* --- Mensaje del Fundador --- */
.fjx-founder {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(28px, 5vw, 76px);
  align-items: center;
  max-width: 1140px;
  margin: 0 auto clamp(64px, 9vw, 120px);
}
.fjx-founder-media { position: relative; }
.fjx-founder-blob {
  position: absolute;
  inset: 8% -7% -10% 2%;
  border-radius: 44px;
  background: linear-gradient(150deg, rgba(37, 99, 235, 0.18), rgba(124, 58, 237, 0.10) 55%, rgba(245, 158, 11, 0.14));
  z-index: 0;
  will-change: transform;
}
.fjx-founder-photo {
  position: relative;
  z-index: 1;
  aspect-ratio: 4 / 5;
  border-radius: 30px;
  overflow: hidden;
  background: #dbe3ee;
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 34px 80px rgba(10, 22, 40, 0.22);
  will-change: transform;
}
.fjx-founder-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  display: block;
}
.fjx-founder-body { position: relative; z-index: 1; }
.fjx-founder-title {
  font-family: "Outfit", sans-serif;
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.01em;
  color: var(--fjx-ink);
  margin: 10px 0 22px;
}
.fjx-founder-text p {
  font-family: "DM Sans", sans-serif;
  font-size: clamp(15.5px, 1.05vw, 17.5px);
  line-height: 1.74;
  color: var(--fjx-ink-2);
  margin: 0 0 16px;
  max-width: 60ch;
}
.fjx-founder-sign {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(10, 22, 40, 0.10);
}
.fjx-founder-name {
  display: block;
  font-family: "Outfit", sans-serif;
  font-weight: 800;
  font-size: 20px;
  color: var(--fjx-ink);
}
.fjx-founder-role {
  display: block;
  margin-top: 2px;
  color: var(--fjx-blue);
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* --- Equipo ejecutivo vigente --- */
.fjx-team-intro { margin-bottom: 40px; }
.fjx-exec-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(18px, 2.4vw, 30px);
  max-width: 1080px;
  margin: 0 auto;
}
.fjx-exec-card {
  position: relative;
  background: var(--fjx-white);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(10, 22, 40, 0.10);
  border: 1px solid rgba(10, 22, 40, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.fjx-exec-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 64px rgba(10, 22, 40, 0.16);
}
.fjx-exec-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 5px;
  z-index: 2;
  background: linear-gradient(90deg, var(--fjx-blue), var(--fjx-purple));
}
.fjx-exec-photo {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: linear-gradient(168deg, #f6f9fd 0%, #e7eef7 100%);
}
.fjx-exec-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  display: block;
}
.fjx-exec-info { padding: 22px 24px 26px; }
.fjx-exec-info h3 {
  font-family: "Outfit", sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: var(--fjx-ink);
  margin: 0 0 6px;
  line-height: 1.15;
}
.fjx-exec-info p {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  line-height: 1.45;
  color: var(--fjx-blue);
  font-weight: 600;
  margin: 0;
}

/* --- Board (miembros, mas pequeños) --- */
.fjx-board-head {
  max-width: 760px;
  margin: clamp(56px, 7vw, 96px) auto 34px;
}
.fjx-board-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(14px, 1.8vw, 22px);
  max-width: 1000px;
  margin: 0 auto;
}
.fjx-bmember {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--fjx-white);
  border: 1px solid rgba(10, 22, 40, 0.07);
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 8px 22px rgba(10, 22, 40, 0.06);
}
.fjx-bavatar {
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  font-family: "Outfit", sans-serif;
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 0.02em;
  color: #fff;
  background: linear-gradient(140deg, var(--fjx-blue), var(--fjx-purple));
}
.fjx-bavatar img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.fjx-bmember h4 {
  font-family: "Outfit", sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--fjx-ink);
  margin: 0 0 2px;
  line-height: 1.2;
}
.fjx-bmember p {
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  color: var(--fjx-ink-3);
  margin: 0;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* responsive #equipo */
@media (max-width: 960px) {
  .fjx-founder { grid-template-columns: 1fr; gap: 30px; }
  .fjx-founder-media { max-width: 380px; }
  .fjx-exec-grid { grid-template-columns: repeat(2, 1fr); max-width: 640px; }
  .fjx-board-grid { grid-template-columns: repeat(2, 1fr); max-width: 620px; }
  /* sin parallax en movil: anular cualquier transform inline */
  .fjx-founder-photo, .fjx-founder-blob { transform: none !important; }
}
@media (max-width: 600px) {
  .fjx-exec-grid { grid-template-columns: 1fr; max-width: 340px; }
  .fjx-board-grid { grid-template-columns: 1fr; max-width: 360px; }
}

/* --- Board y Fundadores: sub-etiquetas + grilla de fundadores (v14) --- */
.fjx-board-sublabel {
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 1000px;
  margin: clamp(38px, 4.5vw, 56px) auto 20px;
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fjx-ink-3);
}
.fjx-board-sublabel::before,
.fjx-board-sublabel::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(10, 22, 40, 0.12), transparent);
}
/* la grilla de fundadores: 2 tarjetas centradas (no estiradas a 4) */
.fjx-founders-grid {
  grid-template-columns: repeat(2, 1fr);
  max-width: 520px;
}
@media (max-width: 600px) {
  .fjx-founders-grid { grid-template-columns: 1fr; max-width: 360px; }
}

/* Menú principal: más contraste sobre el fondo claro (portada) */
body.home nav.navigator ul.menu li > a,
body.home .navigator .menu-primary li a {
  color: var(--fjx-navy) !important;       /* navy oscuro */
  font-weight: 600 !important;
  opacity: 1 !important;
}
body.home nav.navigator ul.menu li > a:hover,
body.home nav.navigator ul.menu li.current-menu-item > a,
body.home nav.navigator ul.menu li.current-menu-ancestor > a {
  color: #2563eb !important;       /* azul de marca en hover / activo */
}
/* Slide 2 (nacional) — BENTO grid estructurado */
.fjx-bento{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:repeat(6,1fr);gap:12px;width:min(450px,84vw);height:min(470px,60vh)}
.fjx-bento img{width:100%;height:100%;object-fit:cover;border-radius:18px;box-shadow:0 14px 32px rgba(16,42,67,.14);display:block}
.fjx-bento .b1{grid-column:1;grid-row:1/4}
.fjx-bento .b2{grid-column:2;grid-row:1/3}
.fjx-bento .b3{grid-column:2;grid-row:3/7}
.fjx-bento .b4{grid-column:1;grid-row:4/7}
/* Slide 3 (internacional) — FOTO DESTACADA + tira de miniaturas */
.fjx-feature{display:flex;flex-direction:column;gap:12px;width:min(450px,84vw)}
.fjx-feature .feat{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;box-shadow:0 16px 38px rgba(16,42,67,.16);display:block}
.fjx-feature .strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.fjx-feature .strip img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;box-shadow:0 10px 24px rgba(16,42,67,.12);display:block}
@media(max-width:760px){.fjx-bento{height:min(380px,52vh)}}
/* Hero más abajo (no choca con el menú) */
body.home .fjx-hero { padding-top: 96px !important; }
/* Título del hero en 2 líneas (no 3) */
body.home .fjx-hero-title { font-size: clamp(34px, 4vw, 46px) !important; line-height: 1.06 !important; }
body.home nav.navigator ul.menu li a,
body.home nav.navigator ul.menu li.current-menu-item a,
body.home nav.navigator ul.menu li a[aria-current]{
  color:#111 !important; -webkit-text-fill-color:#111 !important; font-weight:400 !important;
}
body.home nav.navigator ul.menu li a,
body.home nav.navigator ul.menu li.current-menu-item a,
body.home nav.navigator ul.menu li a[aria-current]{
  color:#111 !important; -webkit-text-fill-color:#111 !important; font-weight:400 !important;
}