/* JEOSYS wordmark — Transformer scrap (única animación oficial) */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@700;800;900&display=swap');

.jeosys-3d-scene {
  perspective: 1100px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 28px;
  min-height: clamp(96px, 20vw, 140px);
  user-select: none;
  position: relative;
}

.jeosys-3d-scene--sm {
  min-height: 76px;
  margin-bottom: 14px;
}

/* Glow azul desactivado */
.jeosys-3d-glow {
  display: none !important;
}

.jeosys-assemble {
  position: relative;
  z-index: 1;
  transform-style: preserve-3d;
  padding-bottom: 10px;
}

.jeosys-floor-shadow,
.jeosys-assemble::after {
  display: none !important;
}

.jeosys-3d-word {
  position: relative;
  display: flex;
  justify-content: center;
  gap: clamp(2px, 0.55vw, 6px);
  transform-style: preserve-3d;
}

.jeosys-3d-letter {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(36px, 7.5vw, 56px);
  height: clamp(34px, 8vw, 58px);
  font-family: Orbitron, Inter, sans-serif;
  font-size: clamp(34px, 8vw, 58px);
  font-weight: 900;
  line-height: 1;
  color: transparent;
  transform-style: preserve-3d;
  overflow: visible;
  /* metal cromado brillante (único tono, sin gris→azul) */
  --jeosys-metal: linear-gradient(
    155deg,
    #ffffff 0%,
    #f1f5f9 12%,
    #c7d0dc 28%,
    #8b97a8 42%,
    #eef2f7 52%,
    #aeb8c6 64%,
    #64748b 78%,
    #e2e8f0 90%,
    #475569 100%
  );
  --jeosys-steel: var(--jeosys-metal);
  --jeosys-blue: var(--jeosys-metal);
  --gs: 0px;
}

.jeosys-3d-scene--sm .jeosys-3d-letter {
  font-size: clamp(22px, 5vw, 32px);
  width: clamp(26px, 5.5vw, 38px);
  height: clamp(22px, 5vw, 32px);
}

/* Fondo blanco: letras oscuras visibles (no gris apagado) */
.jeosys-3d-scene--light .jeosys-3d-letter {
  --jeosys-metal: linear-gradient(
    155deg,
    #0f172a 0%,
    #1e293b 22%,
    #334155 45%,
    #0f172a 68%,
    #1e3a5f 85%,
    #2563eb 100%
  );
  --jeosys-steel: var(--jeosys-metal);
  --jeosys-blue: var(--jeosys-metal);
}

.jeosys-3d-letter::before,
.jeosys-3d-letter::after {
  display: none !important;
  content: none !important;
}

.jeosys-letter-part {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font: inherit;
  background: var(--jeosys-metal);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0;
  will-change: transform, opacity;
  transition: filter .35s ease;
  z-index: 1;
}

.jeosys-letter-part[data-part="1"] { clip-path: inset(0 50% 66.67% 0); }
.jeosys-letter-part[data-part="2"] { clip-path: inset(0 0 66.67% 50%); }
.jeosys-letter-part[data-part="3"] { clip-path: inset(33.33% 50% 33.33% 0); }
.jeosys-letter-part[data-part="4"] { clip-path: inset(33.33% 0 33.33% 50%); }
.jeosys-letter-part[data-part="5"] { clip-path: inset(66.67% 50% 0 0); }
.jeosys-letter-part[data-part="6"] { clip-path: inset(66.67% 0 0 50%); }

/* Flash suave al cerrar letra (sin resplandor fuerte) */
.jeosys-3d-letter .jeosys-tf-flash {
  content: "";
  position: absolute;
  inset: -4px -3px;
  border-radius: 5px;
  background: linear-gradient(90deg, transparent, rgba(148, 163, 184, 0.55), transparent);
  opacity: 0;
  pointer-events: none;
  z-index: 2;
}

.jeosys-3d-scene.is-blue .jeosys-letter-part {
  background: var(--jeosys-metal) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  filter: none;
}

/* Quietas y visibles (después de transformer / glitch) */
.jeosys-3d-scene.is-settled .jeosys-letter-part {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  background: var(--jeosys-metal) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  filter: none;
}
.jeosys-3d-scene.is-settled .jeosys-tf-flash {
  animation: none !important;
  opacity: 0 !important;
}

/*
 * Distorsión SOLO en glifos (bandas horizontales de cada letra).
 * Sin overlay de palabra, sin glow, sin fondo.
 */
.jeosys-3d-scene.is-glitch .jeosys-tf-flash {
  display: none !important;
  animation: none !important;
  opacity: 0 !important;
}

.jeosys-3d-scene.is-glitch .jeosys-3d-word,
.jeosys-3d-scene.is-glitch .jeosys-assemble {
  transform: none !important;
  filter: none !important;
  animation: none !important;
}

.jeosys-3d-scene.is-glitch .jeosys-3d-letter {
  transform: none !important;
  filter: none !important;
  animation: none !important;
}

.jeosys-3d-scene.is-glitch .jeosys-letter-part {
  animation: none !important;
  opacity: 1 !important;
  will-change: transform;
  transition: none !important;
  background: var(--jeosys-metal) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  filter: none !important;
}

.jeosys-3d-scene.is-glitch .jeosys-letter-part[data-part="1"] {
  clip-path: inset(0 0 83.34% 0) !important;
  transform: translate3d(var(--g1, 0px), 0, 0) !important;
}
.jeosys-3d-scene.is-glitch .jeosys-letter-part[data-part="2"] {
  clip-path: inset(16.66% 0 66.68% 0) !important;
  transform: translate3d(var(--g2, 0px), 0, 0) !important;
}
.jeosys-3d-scene.is-glitch .jeosys-letter-part[data-part="3"] {
  clip-path: inset(33.32% 0 50.02% 0) !important;
  transform: translate3d(var(--g3, 0px), 0, 0) !important;
}
.jeosys-3d-scene.is-glitch .jeosys-letter-part[data-part="4"] {
  clip-path: inset(49.98% 0 33.36% 0) !important;
  transform: translate3d(var(--g4, 0px), 0, 0) !important;
}
.jeosys-3d-scene.is-glitch .jeosys-letter-part[data-part="5"] {
  clip-path: inset(66.64% 0 16.7% 0) !important;
  transform: translate3d(var(--g5, 0px), 0, 0) !important;
}
.jeosys-3d-scene.is-glitch .jeosys-letter-part[data-part="6"] {
  clip-path: inset(83.3% 0 0 0) !important;
  transform: translate3d(var(--g6, 0px), 0, 0) !important;
}

/* ——— Patrones solapados por letra ——— */
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(1) .jeosys-letter-part[data-part="1"] { animation: jeosysTfRain 4.2s cubic-bezier(.15,1.2,.3,1) .00s forwards; --dx:-8px; --dy:-110px; --rot:-25deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(1) .jeosys-letter-part[data-part="2"] { animation: jeosysTfRain 4.2s cubic-bezier(.15,1.2,.3,1) .05s forwards; --dx:10px; --dy:-120px; --rot:30deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(1) .jeosys-letter-part[data-part="3"] { animation: jeosysTfRain 4.2s cubic-bezier(.15,1.2,.3,1) .12s forwards; --dx:-6px; --dy:-95px; --rot:0deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(1) .jeosys-letter-part[data-part="4"] { animation: jeosysTfRain 4.2s cubic-bezier(.15,1.2,.3,1) .18s forwards; --dx:8px; --dy:-100px; --rot:0deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(1) .jeosys-letter-part[data-part="5"] { animation: jeosysTfRain 4.2s cubic-bezier(.15,1.2,.3,1) .26s forwards; --dx:-10px; --dy:-85px; --rot:15deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(1) .jeosys-letter-part[data-part="6"] { animation: jeosysTfRain 4.2s cubic-bezier(.15,1.2,.3,1) .32s forwards; --dx:12px; --dy:-90px; --rot:-20deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(1) .jeosys-tf-flash { animation: jeosysTfFlash 4.2s ease-out .55s forwards; }

.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(2) .jeosys-letter-part[data-part="1"] { animation: jeosysTfSlideX 4.2s cubic-bezier(.2,1.15,.28,1) .35s forwards; --dx:140px; --sk:18deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(2) .jeosys-letter-part[data-part="2"] { animation: jeosysTfSlideX 4.2s cubic-bezier(.2,1.15,.28,1) .38s forwards; --dx:155px; --sk:-12deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(2) .jeosys-letter-part[data-part="3"] { animation: jeosysTfSlideX 4.2s cubic-bezier(.2,1.15,.28,1) .48s forwards; --dx:130px; --sk:22deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(2) .jeosys-letter-part[data-part="4"] { animation: jeosysTfSlideX 4.2s cubic-bezier(.2,1.15,.28,1) .52s forwards; --dx:145px; --sk:-16deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(2) .jeosys-letter-part[data-part="5"] { animation: jeosysTfSlideX 4.2s cubic-bezier(.2,1.15,.28,1) .62s forwards; --dx:160px; --sk:10deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(2) .jeosys-letter-part[data-part="6"] { animation: jeosysTfSlideX 4.2s cubic-bezier(.2,1.15,.28,1) .66s forwards; --dx:170px; --sk:-8deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(2) .jeosys-tf-flash { animation: jeosysTfFlash 4.2s ease-out .95s forwards; }

.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(3) .jeosys-letter-part[data-part="1"] { animation: jeosysTfOrbit 4.2s cubic-bezier(.12,1.25,.28,1) .75s forwards; --a:-140deg; --r:95px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(3) .jeosys-letter-part[data-part="2"] { animation: jeosysTfOrbit 4.2s cubic-bezier(.12,1.25,.28,1) .80s forwards; --a:-40deg; --r:100px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(3) .jeosys-letter-part[data-part="3"] { animation: jeosysTfOrbit 4.2s cubic-bezier(.12,1.25,.28,1) .90s forwards; --a:180deg; --r:90px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(3) .jeosys-letter-part[data-part="4"] { animation: jeosysTfOrbit 4.2s cubic-bezier(.12,1.25,.28,1) .95s forwards; --a:0deg; --r:92px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(3) .jeosys-letter-part[data-part="5"] { animation: jeosysTfOrbit 4.2s cubic-bezier(.12,1.25,.28,1) 1.05s forwards; --a:130deg; --r:98px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(3) .jeosys-letter-part[data-part="6"] { animation: jeosysTfOrbit 4.2s cubic-bezier(.12,1.25,.28,1) 1.10s forwards; --a:50deg; --r:105px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(3) .jeosys-tf-flash { animation: jeosysTfFlash 4.2s ease-out 1.40s forwards; }

.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(4) .jeosys-letter-part[data-part="1"] { animation: jeosysTfFlipY 4.2s cubic-bezier(.2,1.1,.3,1) 1.15s forwards; --side:-1; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(4) .jeosys-letter-part[data-part="4"] { animation: jeosysTfFlipY 4.2s cubic-bezier(.2,1.1,.3,1) 1.22s forwards; --side:1; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(4) .jeosys-letter-part[data-part="2"] { animation: jeosysTfFlipY 4.2s cubic-bezier(.2,1.1,.3,1) 1.30s forwards; --side:1; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(4) .jeosys-letter-part[data-part="3"] { animation: jeosysTfFlipY 4.2s cubic-bezier(.2,1.1,.3,1) 1.38s forwards; --side:-1; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(4) .jeosys-letter-part[data-part="6"] { animation: jeosysTfFlipY 4.2s cubic-bezier(.2,1.1,.3,1) 1.48s forwards; --side:1; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(4) .jeosys-letter-part[data-part="5"] { animation: jeosysTfFlipY 4.2s cubic-bezier(.2,1.1,.3,1) 1.55s forwards; --side:-1; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(4) .jeosys-tf-flash { animation: jeosysTfFlash 4.2s ease-out 1.85s forwards; }

.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(5) .jeosys-letter-part[data-part="5"] { animation: jeosysTfClimb 4.2s cubic-bezier(.18,1.2,.28,1) 1.60s forwards; --dx:-35px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(5) .jeosys-letter-part[data-part="6"] { animation: jeosysTfClimb 4.2s cubic-bezier(.18,1.2,.28,1) 1.65s forwards; --dx:35px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(5) .jeosys-letter-part[data-part="3"] { animation: jeosysTfClimb 4.2s cubic-bezier(.18,1.2,.28,1) 1.78s forwards; --dx:-20px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(5) .jeosys-letter-part[data-part="4"] { animation: jeosysTfClimb 4.2s cubic-bezier(.18,1.2,.28,1) 1.82s forwards; --dx:20px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(5) .jeosys-letter-part[data-part="1"] { animation: jeosysTfDropArm 4.2s cubic-bezier(.2,1.15,.3,1) 1.95s forwards; --dx:-55px; --rot:-70deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(5) .jeosys-letter-part[data-part="2"] { animation: jeosysTfDropArm 4.2s cubic-bezier(.2,1.15,.3,1) 2.00s forwards; --dx:55px; --rot:70deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(5) .jeosys-tf-flash { animation: jeosysTfFlash 4.2s ease-out 2.30s forwards; }

.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(6) .jeosys-letter-part[data-part="1"] { animation: jeosysTfCorner 4.2s cubic-bezier(.12,1.35,.25,1) 2.10s forwards; --dx:-100px; --dy:-85px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(6) .jeosys-letter-part[data-part="2"] { animation: jeosysTfCorner 4.2s cubic-bezier(.12,1.35,.25,1) 2.14s forwards; --dx:105px; --dy:-80px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(6) .jeosys-letter-part[data-part="5"] { animation: jeosysTfCorner 4.2s cubic-bezier(.12,1.35,.25,1) 2.18s forwards; --dx:-100px; --dy:90px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(6) .jeosys-letter-part[data-part="6"] { animation: jeosysTfCorner 4.2s cubic-bezier(.12,1.35,.25,1) 2.22s forwards; --dx:105px; --dy:88px; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(6) .jeosys-letter-part[data-part="3"] { animation: jeosysTfCoreIn 4.2s cubic-bezier(.15,1.2,.3,1) 2.40s forwards; --spin:-120deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(6) .jeosys-letter-part[data-part="4"] { animation: jeosysTfCoreIn 4.2s cubic-bezier(.15,1.2,.3,1) 2.48s forwards; --spin:120deg; }
.jeosys-3d-scene.is-run .jeosys-3d-letter:nth-child(6) .jeosys-tf-flash { animation: jeosysTfFlash 4.2s ease-out 2.85s forwards; }

@keyframes jeosysTfRain {
  0% { opacity: 0; transform: translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(.25); filter: blur(8px); }
  14% { opacity: 1; transform: translate(0, 4px) rotate(0) scale(1.08); filter: blur(0); }
  20%, 100% { opacity: 1; transform: none; filter: none; }
}
@keyframes jeosysTfSlideX {
  0% { opacity: 0; transform: translateX(var(--dx)) skewX(var(--sk)) scaleX(.15); filter: blur(6px); }
  14% { opacity: 1; transform: translateX(-3px) skewX(0) scaleX(1.1); filter: blur(0); }
  20%, 100% { opacity: 1; transform: none; filter: none; }
}
@keyframes jeosysTfOrbit {
  0% { opacity: 0; transform: rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a))) scale(.3); filter: blur(8px); }
  16% { opacity: 1; transform: rotate(0) translateX(0) scale(1.12); filter: blur(0); }
  22%, 100% { opacity: 1; transform: none; filter: none; }
}
@keyframes jeosysTfFlipY {
  0% { opacity: 0; transform: translateX(calc(var(--side) * 70px)) rotateY(calc(var(--side) * 110deg)) scale(.4); filter: blur(7px); }
  15% { opacity: 1; transform: translateX(calc(var(--side) * -3px)) rotateY(0) scale(1.08); filter: blur(0); }
  22%, 100% { opacity: 1; transform: none; filter: none; }
}
@keyframes jeosysTfClimb {
  0% { opacity: 0; transform: translate(var(--dx), 120px) scale(.2); filter: blur(7px); }
  15% { opacity: 1; transform: translate(0, -4px) scale(1.08); filter: blur(0); }
  22%, 100% { opacity: 1; transform: none; filter: none; }
}
@keyframes jeosysTfDropArm {
  0% { opacity: 0; transform: translate(var(--dx), -70px) rotate(var(--rot)) scale(.2); filter: blur(7px); }
  15% { opacity: 1; transform: translate(0, 3px) rotate(0) scale(1.1); filter: blur(0); }
  22%, 100% { opacity: 1; transform: none; filter: none; }
}
@keyframes jeosysTfCorner {
  0% { opacity: 0; transform: translate(var(--dx), var(--dy)) scale(.08) rotate(180deg); filter: blur(9px); }
  14% { opacity: 1; transform: scale(1.12); filter: blur(0); }
  20%, 100% { opacity: 1; transform: none; filter: none; }
}
@keyframes jeosysTfCoreIn {
  0% { opacity: 0; transform: scale(3.2) rotate(var(--spin)); filter: blur(14px); }
  16% { opacity: 1; transform: scale(1.1) rotate(0); filter: blur(0); }
  22%, 100% { opacity: 1; transform: none; filter: none; }
}
@keyframes jeosysTfFlash {
  0% { opacity: 0; transform: scaleX(.2); }
  8% { opacity: .45; transform: scaleX(1.15); }
  18%, 100% { opacity: 0; transform: scaleX(1); }
}
/* Estático / reduced motion */
.jeosys-3d-scene.is-static .jeosys-letter-part {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
  background: var(--jeosys-metal);
  -webkit-background-clip: text;
  background-clip: text;
}

@media (prefers-reduced-motion: reduce) {
  .jeosys-letter-part,
  .jeosys-tf-flash {
    animation: none !important;
  }
  .jeosys-letter-part {
    opacity: 1 !important;
    transform: none !important;
    background: var(--jeosys-metal);
    -webkit-background-clip: text;
    background-clip: text;
  }
  .jeosys-3d-scene.is-glitch .jeosys-3d-letter,
  .jeosys-3d-scene.is-glitch .jeosys-letter-part {
    filter: none !important;
    transform: none !important;
    clip-path: none !important;
  }
}
