/* ============================================================
   ILUMINA — Museos en la Noche (/museos-en-la-noche)
   Tema nocturno de una sola página. Usa los tokens de main.css.
   Las animaciones mueven sólo transform y opacity (y el trazo del
   recorrido, como ya hace main.js); con prefers-reduced-motion todo
   queda quieto y encendido.
   ============================================================ */
:root {
  --n-bg:      #05060d;   /* noche */
  --n-bg-2:    #0a0c18;
  --n-ink:     #efeef8;
  --n-soft:    rgba(226, 227, 245, 0.76);
  --n-tenue:   rgba(226, 227, 245, 0.52);
  --n-line:    rgba(255, 255, 255, 0.1);
  --n-oro:     #ffd479;   /* luz cálida */
  --n-rojo:    #ff4b57;   /* el rojo sangre de la marca, encendido */
  --n-violeta: #b98cff;
  --nav-real:  clamp(56px, 8vw, 70px);   /* alto del logo: lo que de verdad manda en el nav */
}

body.noche { background: var(--n-bg); color: var(--n-ink); }
.noche ::selection { background: var(--n-oro); color: #000; }

/* ---------- El nav del sitio, sobre la noche ---------- */
.noche .nav__logo { filter: invert(1); }
.noche .nav.is-scrolled { background: rgba(5, 6, 13, 0.8); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.07); }
.noche .nav__links a { color: rgba(239, 238, 248, 0.9); }
.noche .nav__links a.is-active { color: var(--n-rojo); }
.noche .nav__links a::after { background: var(--n-rojo); }
.noche .nav__cta { border-color: rgba(255, 255, 255, 0.75); color: #fff; }
.noche .nav__cta:hover { background: var(--blood); border-color: var(--blood); }
.noche .nav__burger { border-color: rgba(255, 255, 255, 0.8); }
.noche .nav__burger span { background: #fff; }
.noche .footer { background: #030409; border-top: 1px solid rgba(255, 255, 255, 0.06); }

/* ---------- Piezas comunes ---------- */
.ilu-sr {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.ilu-k {
  display: inline-flex; align-items: center; gap: 0.8rem; margin-bottom: 1.1rem;
  font-size: 0.76rem; font-weight: 600; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--n-rojo);
}
.ilu-k::before { content: ""; width: 1.8rem; height: 1px; background: currentColor; box-shadow: 0 0 8px currentColor; }
.ilu-k--centro::before { display: none; }
.ilu-h2 {
  font-family: var(--serif); font-weight: 500; color: #fff;
  font-size: clamp(1.8rem, 4.2vw, 3rem); line-height: 1.12; letter-spacing: 0.02em;
  margin-bottom: 1.2rem;
}
.ilu-h2 em { font-style: normal; font-weight: 600; color: var(--n-oro); text-shadow: 0 0 26px rgba(255, 212, 121, 0.35); }
.ilu-sec { position: relative; padding: clamp(3rem, 7vh, 4.6rem) clamp(1.2rem, 6vw, 6rem); }
.ilu-sec p { color: var(--n-soft); font-size: clamp(1rem, 1.3vw, 1.1rem); line-height: 1.7; }
.ilu-sec p + p { margin-top: 1rem; }
.ilu-sec strong { color: #fff; font-weight: 600; }
.ilu-sec a:not(.ilu-btn), .ilu-fin a:not(.ilu-btn) { color: #fff; border-bottom: 1px solid var(--n-rojo); transition: color 0.25s var(--ease); }
.ilu-sec a:not(.ilu-btn):hover, .ilu-fin a:not(.ilu-btn):hover { color: var(--n-oro); }
.ilu-sec .ilu-lead { max-width: 38em; font-size: clamp(1.02rem, 1.5vw, 1.18rem); }

.ilu-btn {
  display: inline-flex; align-items: center; justify-content: center; text-align: center;
  padding: 0.85rem 1.6rem; border-radius: 100px; border: 1.5px solid rgba(255, 255, 255, 0.55);
  color: #fff; font-weight: 600; font-size: 0.94rem; max-width: 100%;
  transition: transform 0.35s var(--ease), background 0.35s, border-color 0.35s, color 0.35s, box-shadow 0.35s;
}
.ilu-btn:hover { border-color: #fff; transform: translateY(-2px); box-shadow: 0 0 26px rgba(255, 255, 255, 0.18); }
.ilu-btn--luz { background: #fffdf6; color: #07070d; border-color: #fffdf6; box-shadow: 0 0 30px rgba(255, 236, 190, 0.35); }
.ilu-btn--luz:hover { background: var(--n-oro); border-color: var(--n-oro); box-shadow: 0 0 46px rgba(255, 212, 121, 0.55); }
.ilu-btn:focus-visible, .ilu-faq__it summary:focus-visible { outline: 2px solid var(--n-oro); outline-offset: 3px; }

/* ---------- Cielo: dos capas de estrellas (una titila) ---------- */
.ilu-cielo { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.ilu-cielo i { position: absolute; left: 0; top: 0; width: 1px; height: 1px; border-radius: 50%; }
.ilu-cielo i:nth-child(1) {
  box-shadow:
    96.3vw 5.8vh rgba(255,255,255,0.25), 92.8vw 50.0vh rgba(255,255,255,0.56),
    4.4vw 31.1vh rgba(255,255,255,0.42), 57.5vw 17.3vh rgba(255,255,255,0.73),
    32.7vw 66.0vh rgba(255,255,255,0.73), 0.8vw 30.5vh rgba(255,255,255,0.38),
    58.2vw 2.6vh rgba(255,255,255,0.37), 64.1vw 21.2vh rgba(255,255,255,0.34),
    70.9vw 16.5vh rgba(255,255,255,0.78), 12.3vw 12.6vh rgba(255,255,255,0.66),
    77.5vw 58.1vh rgba(255,255,255,0.73), 92.5vw 4.4vh rgba(255,255,255,0.71),
    81.4vw 50.6vh rgba(255,255,255,0.27), 38.9vw 9.9vh rgba(255,255,255,0.56),
    93.4vw 38.0vh rgba(255,255,255,0.68), 96.6vw 23.4vh rgba(255,255,255,0.60),
    22.0vw 46.8vh rgba(255,255,255,0.60), 51.2vw 2.2vh rgba(255,255,255,0.39),
    82.5vw 69.2vh rgba(255,255,255,0.64), 49.8vw 46.8vh rgba(255,255,255,0.49),
    89.2vw 16.0vh rgba(255,255,255,0.64), 36.3vw 70.4vh rgba(255,255,255,0.56),
    16.4vw 70.9vh rgba(255,255,255,0.76), 54.2vw 63.7vh rgba(255,255,255,0.76),
    17.6vw 39.4vh rgba(255,255,255,0.74), 59.3vw 41.3vh rgba(255,255,255,0.51),
    25.6vw 16.4vh rgba(255,255,255,0.76), 26.3vw 27.7vh rgba(255,255,255,0.59),
    19.3vw 64.8vh rgba(255,255,255,0.42), 31.0vw 17.6vh rgba(255,255,255,0.70),
    51.7vw 37.1vh rgba(255,255,255,0.72), 52.5vw 26.4vh rgba(255,255,255,0.45),
    3.8vw 61.8vh rgba(255,255,255,0.29), 24.2vw 10.1vh rgba(255,255,255,0.48),
    96.9vw 45.2vh rgba(255,255,255,0.44), 25.7vw 17.1vh rgba(255,255,255,0.28),
    51.6vw 53.6vh rgba(255,255,255,0.35), 25.1vw 37.8vh rgba(255,255,255,0.30),
    55.6vw 42.5vh rgba(255,255,255,0.64), 71.8vw 49.7vh rgba(255,255,255,0.39),
    63.4vw 29.0vh rgba(255,255,255,0.47), 98.9vw 68.9vh rgba(255,255,255,0.37),
    24.0vw 21.5vh rgba(255,255,255,0.34), 52.9vw 0.0vh rgba(255,255,255,0.70),
    80.8vw 13.1vh rgba(255,255,255,0.51), 65.8vw 33.6vh rgba(255,255,255,0.50),
    82.8vw 37.4vh rgba(255,255,255,0.67), 7.4vw 31.5vh rgba(255,255,255,0.28),
    57.0vw 24.3vh rgba(255,255,255,0.36), 97.2vw 41.2vh rgba(255,255,255,0.29),
    44.4vw 54.1vh rgba(255,255,255,0.67), 9.3vw 56.8vh rgba(255,255,255,0.29),
    11.6vw 33.8vh rgba(255,255,255,0.38), 55.4vw 51.4vh rgba(255,255,255,0.77),
    31.9vw 69.6vh rgba(255,255,255,0.56), 8.0vw 59.1vh rgba(255,255,255,0.35),
    33.6vw 50.1vh rgba(255,255,255,0.33), 35.8vw 15.8vh rgba(255,255,255,0.76),
    13.4vw 8.6vh rgba(255,255,255,0.59), 75.4vw 51.7vh rgba(255,255,255,0.69),
    62.8vw 68.0vh rgba(255,255,255,0.45), 75.2vw 55.3vh rgba(255,255,255,0.26),
    68.8vw 60.1vh rgba(255,255,255,0.66), 39.8vw 66.7vh rgba(255,255,255,0.47),
    10.9vw 58.2vh rgba(255,255,255,0.44), 20.8vw 13.5vh rgba(255,255,255,0.25),
    57.8vw 9.4vh rgba(255,255,255,0.79), 87.6vw 8.6vh rgba(255,255,255,0.72),
    97.1vw 22.3vh rgba(255,255,255,0.60), 95.5vw 34.5vh rgba(255,255,255,0.35),
    43.5vw 35.7vh rgba(255,255,255,0.62), 96.1vw 31.6vh rgba(255,255,255,0.40),
    67.5vw 4.9vh rgba(255,255,255,0.75), 82.5vw 57.1vh rgba(255,255,255,0.74),
    59.7vw 17.6vh rgba(255,255,255,0.68), 32.2vw 22.0vh rgba(255,255,255,0.42),
    87.2vw 17.3vh rgba(255,255,255,0.28), 51.0vw 3.4vh rgba(255,255,255,0.79),
    41.7vw 4.2vh rgba(255,255,255,0.74), 20.2vw 22.8vh rgba(255,255,255,0.63),
    38.2vw 24.2vh rgba(255,255,255,0.47), 51.0vw 40.9vh rgba(255,255,255,0.71),
    97.0vw 34.9vh rgba(255,255,255,0.26), 60.7vw 29.5vh rgba(255,255,255,0.55),
    23.8vw 20.1vh rgba(255,255,255,0.42), 58.9vw 50.5vh rgba(255,255,255,0.52),
    73.5vw 39.1vh rgba(255,255,255,0.44), 2.4vw 16.0vh rgba(255,255,255,0.28),
    8.5vw 8.6vh rgba(255,255,255,0.37), 85.7vw 10.9vh rgba(255,255,255,0.26);
}
.ilu-cielo i:nth-child(2) {
  width: 2px; height: 2px;
  box-shadow:
    82.5vw 21.4vh rgba(210,200,255,0.86), 3.8vw 53.8vh rgba(210,200,255,0.80),
    28.7vw 52.6vh rgba(255,236,200,0.73), 29.4vw 6.9vh rgba(210,200,255,0.79),
    47.6vw 59.5vh rgba(255,236,200,0.79), 18.6vw 58.9vh rgba(210,200,255,0.79),
    91.8vw 0.7vh rgba(255,236,200,0.77), 94.1vw 28.7vh rgba(255,236,200,0.73),
    11.4vw 16.6vh rgba(210,200,255,0.65), 20.8vw 9.0vh rgba(255,236,200,0.73),
    83.2vw 41.3vh rgba(210,200,255,0.75), 74.5vw 16.4vh rgba(255,255,255,0.73),
    8.7vw 1.6vh rgba(210,200,255,0.74), 79.1vw 7.7vh rgba(210,200,255,0.93),
    13.6vw 39.0vh rgba(210,200,255,0.87), 15.2vw 9.1vh rgba(210,200,255,0.76),
    88.3vw 11.0vh rgba(255,255,255,0.95), 35.2vw 8.4vh rgba(255,255,255,0.86),
    45.0vw 27.4vh rgba(255,255,255,0.79), 48.5vw 54.1vh rgba(255,255,255,0.79),
    4.1vw 17.9vh rgba(255,255,255,0.85), 18.6vw 59.4vh rgba(255,236,200,0.72),
    87.2vw 1.2vh rgba(210,200,255,0.92), 7.4vw 47.0vh rgba(255,236,200,0.81),
    66.4vw 43.2vh rgba(255,255,255,0.79), 77.0vw 9.1vh rgba(255,236,200,0.73),
    2.5vw 39.8vh rgba(255,236,200,0.76), 97.5vw 24.8vh rgba(255,236,200,0.70),
    46.7vw 24.3vh rgba(210,200,255,0.77), 53.9vw 20.1vh rgba(255,236,200,0.75),
    42.9vw 50.9vh rgba(255,236,200,0.90), 91.5vw 57.7vh rgba(210,200,255,0.95),
    27.7vw 14.4vh rgba(255,236,200,0.81), 83.1vw 27.0vh rgba(255,255,255,0.70);
  animation: ilu-titila 4.6s ease-in-out infinite alternate;
}
@keyframes ilu-titila { from { opacity: 0.2; } to { opacity: 1; } }

/* ============================================================
   HERO — la linterna: la noche tapa las fotos y la luz las descubre
   ============================================================ */
.ilu-hero {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 100vh; min-height: 100svh;
  display: flex; align-items: flex-end;
  padding: calc(var(--nav-real) + 6rem) clamp(1.2rem, 6vw, 6rem) clamp(2.6rem, 7vh, 4.5rem);
  background: var(--n-bg);
}
.ilu-hero__fotos { position: absolute; inset: 0; z-index: -3; display: grid; grid-template-columns: 1fr; }
.ilu-hero__f { position: relative; overflow: hidden; display: block; }
.ilu-hero__f img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; }
.ilu-hero__f--izq, .ilu-hero__f--der { display: none; }
@media (min-width: 900px) {
  .ilu-hero__fotos { grid-template-columns: repeat(3, 1fr); }
  .ilu-hero__f img { top: 0; height: 100%; object-position: 50% 62%; }
  /* Los tres paneles se funden entre sí en vez de cortar en seco */
  .ilu-hero__f {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
  }
  .ilu-hero__f--izq { -webkit-mask-image: linear-gradient(90deg, #000 91%, transparent); mask-image: linear-gradient(90deg, #000 91%, transparent); }
  .ilu-hero__f--der { -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%); mask-image: linear-gradient(90deg, transparent, #000 9%); }
  .ilu-hero__f--izq, .ilu-hero__f--der { display: block; background: center 58% / cover no-repeat; }
  .ilu-hero__f--izq {
    background-image: url(/assets/img/noche/hero-izq.jpg);
    background-image: image-set(url(/assets/img/noche/hero-izq.avif) type("image/avif"), url(/assets/img/noche/hero-izq.webp) type("image/webp"), url(/assets/img/noche/hero-izq.jpg) type("image/jpeg"));
  }
  .ilu-hero__f--der {
    background-image: url(/assets/img/noche/hero-der.jpg);
    background-image: image-set(url(/assets/img/noche/hero-der.avif) type("image/avif"), url(/assets/img/noche/hero-der.webp) type("image/webp"), url(/assets/img/noche/hero-der.jpg) type("image/jpeg"));
  }
}
/* La noche: un velo con un agujero de luz en el centro. Se mueve con
   transform, así que el navegador no repinta nada al seguir el cursor.
   Mide el doble de la zona (con el agujero en el medio, la tapa entera esté
   donde esté la luz) y no más: en el teléfono es una capa de GPU chica. */
.ilu-hero__noche { position: absolute; inset: 0; z-index: -2; overflow: hidden; pointer-events: none; }
.ilu-hero__luz {
  position: absolute; left: -100%; top: -100%; width: 200%; height: 200%;
  background: radial-gradient(circle 140vmax at 50% 50%,
    rgba(5, 6, 13, 0) 0%, rgba(5, 6, 13, 0.08) 5%, rgba(5, 6, 13, 0.5) 11%,
    rgba(5, 6, 13, 0.82) 19%, rgba(5, 6, 13, 0.88) 100%);
  transform: translate3d(68vw, 42vh, 0);
  will-change: transform;
}
.ilu-hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(0deg, rgba(5, 6, 13, 0.94) 0%, rgba(5, 6, 13, 0.55) 34%, rgba(5, 6, 13, 0) 62%),
    linear-gradient(90deg, rgba(5, 6, 13, 0.55) 0%, rgba(5, 6, 13, 0) 55%);
}

/* Migas dentro del hero, en claro */
.noche .migas {
  position: absolute; top: 0; left: 0; right: 0; z-index: 2;
  padding: calc(var(--nav-real) + 3.4rem) clamp(1.2rem, 4vw, 3rem) 0;
  font-size: 0.76rem; letter-spacing: 0.06em;
}
.noche .migas ol { list-style: none; margin: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.5rem; }
.noche .migas li + li::before { content: "·"; margin-right: 0.5rem; color: rgba(255, 255, 255, 0.3); }
.noche .migas a { color: var(--n-tenue); transition: color 0.25s var(--ease); }
.noche .migas a:hover { color: #fff; }
.noche .migas [aria-current] { color: var(--n-soft); }

.ilu-hero__in { position: relative; z-index: 1; max-width: 980px; }
.ilu-hero__k { font-size: 0.78rem; font-weight: 600; letter-spacing: 0.3em; text-transform: uppercase; color: var(--n-rojo); margin-bottom: 0.4rem; }
.ilu-hero__t { font-weight: inherit; margin: 0 0 1.1rem; }
.ilu-word {
  display: block; white-space: nowrap; margin-left: -0.04em;
  font-family: var(--serif); font-weight: 600; color: #fffdf6;
  font-size: clamp(3.4rem, 13.5vw, 10.5rem); line-height: 0.95; letter-spacing: 0.06em;
}
.ilu-word span {
  display: inline-block;
  text-shadow: 0 0 0.1em rgba(255, 236, 190, 0.6), 0 0 0.38em rgba(186, 120, 255, 0.55), 0 0 0.9em rgba(255, 60, 90, 0.32),
               0 0.04em 0.5em rgba(5, 6, 13, 0.5);
}
/* Sólo con JS (la clase .js la pone main.js): si algo falla, el título se ve igual */
.js .ilu-word span {
  animation: ilu-enciende 1.7s steps(1, end) both;
  animation-delay: calc(0.3s + var(--i) * 0.17s);
}
/* Un tubo de neón que arranca: parpadea y queda prendido */
@keyframes ilu-enciende {
  0%   { opacity: 0.07; }
  12%  { opacity: 0.85; }
  18%  { opacity: 0.12; }
  30%  { opacity: 1; }
  36%  { opacity: 0.35; }
  46%, 100% { opacity: 1; }
}
.ilu-hero__sub {
  display: block; margin-top: 0.7rem;
  font-family: var(--sans); font-weight: 500; color: #fff;
  font-size: clamp(1rem, 1.9vw, 1.4rem); letter-spacing: 0.01em; line-height: 1.35;
}
.ilu-hero__lead { color: var(--n-soft); font-size: clamp(1rem, 1.4vw, 1.14rem); line-height: 1.6; max-width: 36em; margin-bottom: 1.3rem; }
.ilu-hero__datos { list-style: none; display: flex; flex-wrap: wrap; gap: 0.55rem; margin-bottom: 1.4rem; }
.ilu-hero__datos li {
  padding: 0.48rem 1rem; border-radius: 100px; font-size: 0.9rem; color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.28); background: rgba(5, 6, 13, 0.58);
}
.ilu-hero__datos b { font-weight: 600; }
.ilu-hero__datos .ilu-hero__libre { color: var(--n-oro); font-weight: 600; border-color: rgba(255, 212, 121, 0.6); background: rgba(255, 212, 121, 0.12); }

/* Cuenta regresiva */
.ilu-cuenta { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.4rem clamp(0.9rem, 2vw, 1.5rem); margin-bottom: 1.7rem; }
.ilu-cuenta__k { width: 100%; font-size: 0.7rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--n-tenue); }
.ilu-cuenta__k--vivo { font-size: 0.9rem; letter-spacing: 0.1em; color: var(--n-oro); display: inline-flex; align-items: center; gap: 0.6rem; }
.ilu-cuenta__k--vivo::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--n-rojo); box-shadow: 0 0 12px var(--n-rojo); animation: ilu-pulso 1.6s ease-in-out infinite; }
.ilu-cuenta__n { display: flex; flex-direction: column; align-items: center; }
.ilu-cuenta__n b {
  display: inline-block; min-width: 1.5em; text-align: center;
  font-family: var(--serif); font-weight: 500; color: #fff; line-height: 1;
  font-size: clamp(1.6rem, 3.2vw, 2.3rem); font-variant-numeric: tabular-nums;
  text-shadow: 0 0 18px rgba(185, 140, 255, 0.5);
}
.ilu-cuenta__n small { margin-top: 0.35rem; font-size: 0.64rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--n-tenue); }
@keyframes ilu-pulso { 0%, 100% { opacity: 0.35; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1); } }

.ilu-hero__acc { display: flex; flex-wrap: wrap; gap: 0.7rem; }

.ilu-hero__pista {
  position: absolute; z-index: 1; right: clamp(1.2rem, 4vw, 3rem); bottom: clamp(1.2rem, 4vh, 2rem);
  display: flex; align-items: center; gap: 0.6rem;
  font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--n-tenue);
}
.ilu-hero__pista::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--n-oro); box-shadow: 0 0 12px var(--n-oro); animation: ilu-pulso 2s ease-in-out infinite; }
.ilu-pista--tactil { display: none; }
@media (hover: none) {
  .ilu-pista--puntero { display: none; }
  .ilu-pista--tactil { display: inline; }
}
/* Mobile: la foto arriba con su linterna y el texto debajo, sobre la noche.
   Si el texto fuera encima, taparía justo la parte iluminada. */
@media (max-width: 899px) {
  .ilu-hero { display: block; min-height: 0; padding-top: calc(var(--nav-real) + 36vh); }
  .ilu-hero__fotos, .ilu-hero__noche, .ilu-hero::after { bottom: auto; height: 74vh; height: 74svh; }
  .ilu-hero::after {
    background: linear-gradient(0deg, var(--n-bg) 0%, rgba(5, 6, 13, 0.78) 24%, rgba(5, 6, 13, 0) 58%);
  }
  .ilu-hero__pista { top: calc(var(--nav-real) + 5.2rem); bottom: auto; right: auto; left: clamp(1.2rem, 6vw, 6rem); }
  .ilu-hero__k { font-size: 0.7rem; letter-spacing: 0.2em; }
  /* Se recorta un poco de cielo para que el círculo violeta quede justo sobre el título */
  .ilu-hero__f img { top: -22%; height: 122%; }
}
/* Teléfonos chicos: las migas entran en un renglón y no pisan la pista */
@media (max-width: 400px) {
  .noche .migas { font-size: 0.7rem; letter-spacing: 0.02em; }
  .ilu-hero__datos { gap: 0.45rem; }
  .ilu-hero__datos li { font-size: 0.82rem; padding: 0.42rem 0.8rem; }
  .noche .migas ol { gap: 0.35rem; }
  .noche .migas li + li::before { margin-right: 0.35rem; }
}

/* ============================================================
   QUÉ ES
   ============================================================ */
.ilu-que { background: var(--n-bg); }
.ilu-que__in {
  max-width: 1100px; margin: 0 auto;
  display: grid; grid-template-columns: 1.4fr 0.85fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center;
}
.ilu-ficha {
  margin: 0; border: 1px solid var(--n-line); border-radius: 18px;
  padding: clamp(1.2rem, 3vw, 2rem) clamp(1.3rem, 3vw, 2.2rem);
  background: linear-gradient(160deg, rgba(185, 140, 255, 0.09), rgba(255, 75, 87, 0.04) 60%, rgba(255, 212, 121, 0.07));
  box-shadow: inset 0 0 40px rgba(185, 140, 255, 0.05), 0 30px 80px -30px rgba(0, 0, 0, 0.7);
}
.ilu-ficha div { display: grid; grid-template-columns: 7.6rem 1fr; gap: 1rem; padding: 0.85rem 0; border-bottom: 1px solid var(--n-line); }
.ilu-ficha div:last-child { border-bottom: 0; }
.ilu-ficha dt { padding-top: 0.25rem; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--n-rojo); }
.ilu-ficha dd { color: #fff; font-size: 1rem; line-height: 1.5; }

/* ============================================================
   EL RECORRIDO — la figura se enciende estación por estación
   ============================================================ */
.ilu-mapa { background: radial-gradient(ellipse 55% 45% at 28% 55%, rgba(185, 140, 255, 0.09), transparent 70%), var(--n-bg); }
.ilu-mapa__grid {
  max-width: 1100px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: "fig cab" "fig lista";
  gap: 0 clamp(1.5rem, 4vw, 4rem); align-items: start;
}
.ilu-mapa__cab { grid-area: cab; margin-bottom: 1rem; }
.ilu-mapa__cab .ilu-h2 { margin-bottom: 0.7rem; }
.ilu-est { grid-area: lista; }
/* Sticky dentro de su área de la grilla: acompaña a la lista mientras dura */
.ilu-mapa__fig { grid-area: fig; align-self: start; position: sticky; top: calc(var(--nav-real) + 2rem); margin: 0; }
.ilu-fig { display: block; width: 100%; height: auto; max-height: calc(100vh - var(--nav-real) - 5rem); margin: 0 auto; overflow: visible; }
.ilu-mapa__fig figcaption { margin-top: 0.6rem; text-align: center; font-size: 0.78rem; color: var(--n-tenue); }
.ilu-fig__geo { fill: none; stroke: rgba(255, 255, 255, 0.1); stroke-width: 1; }
.ilu-fig__cuerpo { fill: none; stroke: rgba(255, 255, 255, 0.36); stroke-width: 2; stroke-linecap: round; }
.ilu-fig__cuerpo .ilu-fig__tenue { stroke: rgba(255, 255, 255, 0.15); stroke-width: 1.5; }
.ilu-fig__ruta-base { fill: none; stroke: rgba(255, 255, 255, 0.09); stroke-width: 1.3; stroke-dasharray: 2 6; }
.ilu-fig__ruta { fill: none; stroke: url(#ilu-ruta-g); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; opacity: 0.6; transition: stroke-dashoffset 0.9s var(--ease); }

.ilu-nodo { cursor: pointer; }
.ilu-nodo__luz { fill: var(--c); filter: url(#ilu-glow); transition: opacity 0.5s var(--ease); }
.ilu-nodo__halo {
  fill: var(--c); opacity: 0.2;
  transform-box: fill-box; transform-origin: center;
  transition: opacity 0.6s var(--ease), transform 0.6s var(--ease);
}
.ilu-fig__rotulo { opacity: 0; pointer-events: none; transition: opacity 0.3s var(--ease); }
.ilu-fig__rotulo.is-on { opacity: 1; }
.ilu-fig__rotulo rect { fill: rgba(5, 6, 13, 0.88); stroke: var(--c, #fff); stroke-width: 1; }
.ilu-fig__rotulo text { fill: #fff; font-family: var(--sans); font-size: 13px; font-weight: 600; letter-spacing: 0.02em; }

/* Con JS: arranca apagado y se enciende al bajar */
.ilu-mapa.is-vivo .ilu-nodo__luz { opacity: 0.22; filter: none; }
.ilu-mapa.is-vivo .ilu-nodo__halo { opacity: 0; transform: scale(0.4); }
.ilu-mapa.is-vivo .ilu-nodo.is-on .ilu-nodo__luz { opacity: 1; filter: url(#ilu-glow); }
.ilu-mapa.is-vivo .ilu-nodo.is-on .ilu-nodo__halo { opacity: 0.2; transform: scale(1); }
.ilu-mapa.is-vivo .ilu-nodo.is-act .ilu-nodo__halo { animation: ilu-halo 1.9s ease-out infinite; }
@keyframes ilu-halo { 0% { transform: scale(0.6); opacity: 0.7; } 100% { transform: scale(2); opacity: 0; } }

.ilu-est { list-style: none; display: flex; flex-direction: column; gap: 0.1rem; }
.ilu-est__it {
  position: relative; display: grid; grid-template-columns: 2.5rem 1fr; gap: 0.5rem; align-items: baseline;
  padding: 0.42rem 0.95rem; border-radius: 12px; border: 1px solid transparent;
  transition: opacity 0.45s var(--ease), background 0.45s var(--ease), border-color 0.45s var(--ease);
}
.ilu-est__it::before {
  content: ""; position: absolute; left: 0; top: 24%; bottom: 24%; width: 2px; border-radius: 2px;
  background: var(--c); box-shadow: 0 0 10px var(--c); opacity: 0; transition: opacity 0.45s var(--ease);
}
.ilu-est__it > div { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 0.7rem; }
.ilu-est__n { font-family: var(--serif); font-size: 0.98rem; letter-spacing: 0.08em; color: var(--c); text-shadow: 0 0 14px var(--c); }
.ilu-est__it h3 { font-family: var(--serif); font-weight: 500; color: #fff; font-size: clamp(1.02rem, 1.4vw, 1.14rem); line-height: 1.35; letter-spacing: 0.02em; }
.ilu-sec .ilu-est__it p { font-size: 0.9rem; line-height: 1.45; }
.ilu-mapa.is-vivo .ilu-est__it { opacity: 0.42; }
.ilu-mapa.is-vivo .ilu-est__it.is-on { opacity: 0.8; }
.ilu-mapa.is-vivo .ilu-est__it.is-act { opacity: 1; background: rgba(255, 255, 255, 0.04); border-color: rgba(255, 255, 255, 0.08); }
.ilu-mapa.is-vivo .ilu-est__it.is-act::before { opacity: 1; }

@media (max-width: 860px) {
  .ilu-mapa__grid { grid-template-columns: 1fr; grid-template-areas: "cab" "fig" "lista"; gap: 0; }
  .ilu-mapa__fig {
    top: calc(var(--nav-real) + 1.3rem); z-index: 2;
    margin: 0 calc(-1 * clamp(1.2rem, 6vw, 6rem)); padding: 0.4rem clamp(1.2rem, 6vw, 6rem) 0.6rem;
    background: var(--n-bg);
  }
  /* La lista pasa por debajo del esquema y se funde, sin cortarse en seco */
  .ilu-mapa__fig::after {
    content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 2.2rem; pointer-events: none;
    background: linear-gradient(var(--n-bg), rgba(5, 6, 13, 0));
  }
  .ilu-fig { width: auto; max-width: 100%; height: 32vh; max-height: none; }
  .ilu-mapa__fig figcaption { margin-top: 0.2rem; font-size: 0.7rem; }
  .ilu-est__it { padding: 0.5rem 0.7rem; }
}

/* ============================================================
   PROGRAMA
   ============================================================ */
.ilu-prog { background: var(--n-bg-2); }
.ilu-prog__in { max-width: 1100px; margin: 0 auto; }
.ilu-prog__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1.6rem; }
.ilu-card {
  position: relative; overflow: hidden; padding: 1.3rem 1.4rem 1.4rem; border-radius: 18px;
  background: rgba(255, 255, 255, 0.025); border: 1px solid rgba(255, 255, 255, 0.08);
  transition: transform 0.45s var(--ease), border-color 0.45s var(--ease), box-shadow 0.45s var(--ease);
}
.ilu-card::before {
  content: ""; position: absolute; right: -90px; top: -90px; width: 240px; height: 240px; border-radius: 50%;
  background: radial-gradient(circle, var(--c), transparent 68%); opacity: 0.15; pointer-events: none;
  transition: opacity 0.5s var(--ease), transform 0.7s var(--ease);
}
.ilu-card:hover { transform: translateY(-4px); border-color: rgba(255, 255, 255, 0.2); box-shadow: 0 0 46px -14px var(--c); }
.ilu-card:hover::before { opacity: 0.3; transform: scale(1.2); }
.ilu-card__k { position: relative; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--c); }
.ilu-card h3 { position: relative; font-family: var(--serif); font-weight: 500; color: #fff; font-size: 1.28rem; line-height: 1.25; letter-spacing: 0.01em; margin: 0.4rem 0 0.45rem; }
.ilu-sec .ilu-card p { position: relative; font-size: 0.95rem; line-height: 1.55; }
.ilu-sec a.ilu-card__link {
  position: relative; display: inline-flex; align-items: center; gap: 0.45rem; margin-top: 0.7rem;
  justify-self: start; color: var(--c); border-bottom: 0; font-size: 0.86rem; font-weight: 600; letter-spacing: 0.02em;
}
.ilu-card__link::after { content: "↗"; transition: transform 0.3s var(--ease); }
.ilu-sec a.ilu-card__link:hover { color: #fff; }
.ilu-card__link:hover::after { transform: translate(2px, -2px); }
.ilu-ico {
  width: 34px; height: 34px; margin-bottom: 0.7rem; overflow: visible;
  fill: none; stroke: var(--c); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
  filter: drop-shadow(0 0 6px var(--c));
}

/* La Gioconda se va del marco y vuelve */
.ilu-card--gioconda { grid-row: span 2; display: flex; flex-direction: column; justify-content: space-between; }
.ilu-marco { display: block; width: min(100%, 190px); margin: 0.4rem auto 1.2rem; overflow: visible; }
.ilu-marco__ext { fill: none; stroke: var(--c); stroke-width: 3; filter: drop-shadow(0 0 8px var(--c)); }
.ilu-marco__int { fill: rgba(255, 212, 121, 0.04); stroke: rgba(255, 212, 121, 0.45); stroke-width: 1; }
.ilu-marco__ella path { fill: rgba(255, 240, 210, 0.1); stroke: rgba(255, 240, 210, 0.8); stroke-width: 1.5; }
.ilu-marco__ella .ilu-marco__cara { fill: rgba(255, 228, 180, 0.22); stroke: rgba(255, 240, 210, 0.55); stroke-width: 1; }
.ilu-marco__ella { animation: ilu-fuga 8s var(--ease) infinite; }
@keyframes ilu-fuga {
  0%, 22%   { transform: translate(0, 0); opacity: 1; }
  48%       { transform: translate(150px, 6px); opacity: 0; }
  52%       { transform: translate(-90px, 0); opacity: 0; }
  78%, 100% { transform: translate(0, 0); opacity: 1; }
}
@media (max-width: 980px) { .ilu-prog__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) {
  .ilu-prog__grid { grid-template-columns: 1fr; gap: 0.6rem; margin-top: 1.2rem; }
  .ilu-card { display: grid; grid-template-columns: 34px 1fr; column-gap: 0.95rem; align-items: start; padding: 1rem 1.1rem; }
  .ilu-card > :not(.ilu-ico) { grid-column: 2; }
  .ilu-card .ilu-ico { grid-row: 1 / 4; margin: 0.1rem 0 0; width: 30px; height: 30px; }
  .ilu-card h3 { font-size: 1.12rem; margin: 0.25rem 0 0.25rem; }
  .ilu-card__link { margin-top: 0.35rem; }
  .ilu-card--gioconda { grid-row: auto; display: flex; flex-direction: row; align-items: center; gap: 1rem; }
  .ilu-marco { width: 74px; flex: 0 0 74px; margin: 0; }
}

/* ============================================================
   EDICIÓN 2025 — las fotos se encienden al entrar
   ============================================================ */
.ilu-gal { background: var(--n-bg); }
.ilu-gal__cab { max-width: 1100px; margin: 0 auto 1.6rem; }
.ilu-gal__grid {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: clamp(105px, 11vw, 158px); gap: 0.7rem;
}
.ilu-foto { position: relative; margin: 0; overflow: hidden; border-radius: 12px; background: #0b0c16; }
.ilu-foto picture, .ilu-foto img { display: block; width: 100%; height: 100%; }
.ilu-foto img { object-fit: cover; transform: scale(1.03); transition: transform 1.4s var(--ease); }
.ilu-foto:hover img { transform: scale(1.08); }
.ilu-foto figcaption {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  padding: 2.2rem 0.95rem 0.8rem; font-size: 0.8rem; line-height: 1.4; color: #fff;
  background: linear-gradient(rgba(5, 6, 13, 0), rgba(5, 6, 13, 0.88));
}
/* Posiciones en escritorio: apaisadas de a dos columnas, verticales de a dos filas */
.ilu-foto--p1 { grid-column: 1 / 3; grid-row: 1; }
.ilu-foto--p2 { grid-column: 3;     grid-row: 1 / 3; }
.ilu-foto--p3 { grid-column: 4;     grid-row: 1 / 3; }
.ilu-foto--p4 { grid-column: 1 / 3; grid-row: 2; }
.ilu-foto--p5 { grid-column: 1 / 3; grid-row: 3; }
.ilu-foto--p6 { grid-column: 3 / 5; grid-row: 3; }
.ilu-foto--p6 img { object-position: 50% 62%; }
/* Con JS: cada foto arranca a oscuras y se prende con un parpadeo */
.ilu-foto::after { content: ""; position: absolute; inset: 0; z-index: 1; background: var(--n-bg); opacity: 0; pointer-events: none; }
.ilu-gal.is-vivo .ilu-foto::after { opacity: 0.93; }
.ilu-gal.is-vivo .ilu-foto figcaption { opacity: 0; transition: opacity 0.8s var(--ease) 0.9s; }
.ilu-gal.is-vivo .ilu-foto.is-on::after { animation: ilu-prende 1.4s steps(1, end) var(--d, 0s) forwards; }
.ilu-gal.is-vivo .ilu-foto.is-on figcaption { opacity: 1; }
@keyframes ilu-prende {
  0%   { opacity: 0.93; }
  10%  { opacity: 0.3; }
  17%  { opacity: 0.85; }
  28%  { opacity: 0.12; }
  35%  { opacity: 0.6; }
  46%, 100% { opacity: 0; }
}
@media (max-width: 760px) {
  .ilu-gal__grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 19vw; gap: 0.5rem; }
  .ilu-foto[class] { grid-column: auto; grid-row: span 3; }
  .ilu-foto.ilu-foto--h[class] { grid-column: 1 / 3; }
  .ilu-foto--m-oculta { display: none; }
  .ilu-foto figcaption { font-size: 0.72rem; padding: 1.8rem 0.7rem 0.6rem; }
}

/* ============================================================
   CÓMO LLEGAR
   ============================================================ */
.ilu-llegar { background: var(--n-bg-2); }
.ilu-llegar__in {
  max-width: 1100px; margin: 0 auto;
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: start;
}
.ilu-llegar h3 { font-family: var(--sans); font-weight: 600; font-size: 1.05rem; color: #fff; margin: 1.6rem 0 0.4rem; }
.ilu-llegar__btns { display: flex; flex-wrap: wrap; gap: 0.7rem; margin: 1.5rem 0 0.3rem; }
.ilu-llegar__der { display: grid; gap: 1rem; }
.ilu-tiempos {
  padding: clamp(1.3rem, 2.6vw, 1.8rem); border-radius: 18px;
  border: 1px solid var(--n-line); background: rgba(255, 255, 255, 0.025);
}
.ilu-sec .ilu-tiempos__t { margin-bottom: 1.3rem; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--n-rojo); }
.ilu-tiempos ul { list-style: none; display: grid; gap: 1.05rem; }
.ilu-tiempos li { display: grid; grid-template-columns: 5rem 1fr 3.8rem; align-items: center; gap: 0.8rem; }
.ilu-tiempos span { color: #fff; font-size: 0.95rem; }
.ilu-tiempos i { position: relative; height: 2px; border-radius: 2px; background: rgba(255, 255, 255, 0.08); }
.ilu-tiempos i::after {
  content: ""; position: absolute; left: 0; top: 0; height: 100%; border-radius: 2px;
  width: calc(var(--m) / 40 * 100%);
  background: linear-gradient(90deg, var(--n-violeta), var(--n-oro));
  box-shadow: 0 0 10px rgba(255, 212, 121, 0.65);
  transform-origin: left center;
}
.ilu-tiempos b { text-align: right; color: var(--n-oro); font-weight: 600; font-size: 0.9rem; font-variant-numeric: tabular-nums; }
.ilu-sec .ilu-tiempos__nota { margin-top: 1.3rem; font-size: 0.8rem; color: var(--n-tenue); }
.ilu-vivo .ilu-tiempos i::after { transform: scaleX(0); transition: transform 1.5s var(--ease); }
.ilu-vivo .ilu-tiempos li:nth-child(2) i::after { transition-delay: 0.1s; }
.ilu-vivo .ilu-tiempos li:nth-child(3) i::after { transition-delay: 0.2s; }
.ilu-vivo .ilu-tiempos li:nth-child(4) i::after { transition-delay: 0.3s; }
.ilu-vivo .ilu-tiempos li:nth-child(5) i::after { transition-delay: 0.4s; }
.ilu-vivo .ilu-tiempos.is-on i::after { transform: scaleX(1); }

.ilu-antes {
  list-style: none; padding: 0.4rem clamp(1.3rem, 2.6vw, 1.8rem); border-radius: 18px;
  border: 1px solid var(--n-line); background: rgba(255, 255, 255, 0.025);
}
.ilu-antes li { padding: 0.75rem 0; color: var(--n-soft); font-size: 0.9rem; line-height: 1.5; }
.ilu-antes li + li { border-top: 1px solid var(--n-line); }
.ilu-antes b { color: #fff; font-weight: 600; }

/* ============================================================
   PREGUNTAS
   ============================================================ */
.ilu-faq { background: var(--n-bg); }
.ilu-faq__in { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 0.6rem clamp(2rem, 5vw, 4.5rem); align-items: start; }
.ilu-faq__cab { position: sticky; top: calc(var(--nav-real) + 2.4rem); }
.ilu-faq__it { border-bottom: 1px solid var(--n-line); }
.ilu-faq__it:first-of-type { border-top: 1px solid var(--n-line); }
.ilu-faq__it summary {
  position: relative; list-style: none; cursor: pointer;
  padding: 1.15rem 2.6rem 1.15rem 0;
  font-family: var(--serif); font-size: clamp(1.02rem, 1.6vw, 1.18rem); color: #fff; letter-spacing: 0.01em;
}
.ilu-faq__it summary::-webkit-details-marker { display: none; }
.ilu-faq__it summary::after {
  content: "+"; position: absolute; right: 0.3rem; top: 50%; transform: translateY(-50%);
  font-family: var(--sans); font-size: 1.45rem; line-height: 1; color: var(--n-oro); transition: transform 0.3s var(--ease);
}
.ilu-faq__it[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.ilu-sec .ilu-faq__it p { padding: 0 0 1.3rem; max-width: 42em; }

/* ============================================================
   CIERRE
   ============================================================ */
.ilu-fin {
  position: relative; isolation: isolate; overflow: hidden; text-align: center;
  padding: clamp(3.6rem, 9vh, 5.6rem) clamp(1.2rem, 6vw, 6rem);
  background: radial-gradient(ellipse 70% 60% at 50% 105%, rgba(185, 140, 255, 0.17), transparent 70%), var(--n-bg);
}
.ilu-fin__aro {
  position: absolute; left: 50%; top: 50%; z-index: -1;
  width: min(84vw, 620px); aspect-ratio: 1; translate: -50% -50%;
  border-radius: 50%; border: 1px dashed rgba(255, 212, 121, 0.28);
  box-shadow: 0 0 90px rgba(255, 212, 121, 0.07), inset 0 0 90px rgba(185, 140, 255, 0.08);
  animation: ilu-gira 90s linear infinite;
}
@keyframes ilu-gira { to { transform: rotate(1turn); } }
.ilu-fin__in { position: relative; max-width: 760px; margin: 0 auto; }
.ilu-fin__t { font-family: var(--serif); font-weight: 500; color: #fff; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.1; letter-spacing: 0.02em; margin: 0.2rem 0 1rem; }
.ilu-fin__t em { font-style: normal; font-weight: 600; color: var(--n-oro); text-shadow: 0 0 32px rgba(255, 212, 121, 0.45); }
.ilu-fin__txt { color: var(--n-soft); font-size: clamp(1.02rem, 1.5vw, 1.15rem); margin-bottom: 2rem; }
.ilu-fin__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.7rem; }
.ilu-fin__mas { margin-top: 2.2rem; font-size: 0.92rem; color: var(--n-tenue); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 860px) {
  .ilu-que__in, .ilu-llegar__in, .ilu-faq__in { grid-template-columns: 1fr; }
  .ilu-faq__cab { position: static; }
}
@media (max-width: 560px) {
  .ilu-sec { padding-top: 2.6rem; padding-bottom: 2.6rem; }
  .ilu-sec p { line-height: 1.62; }
  .ilu-antes li { padding: 0.6rem 0; }
  .ilu-k { font-size: 0.7rem; letter-spacing: 0.18em; margin-bottom: 0.8rem; }
  .ilu-h2 { margin-bottom: 0.9rem; }
  .ilu-ficha { padding: 0.6rem 1.1rem; }
  .ilu-ficha div { grid-template-columns: 5.6rem 1fr; gap: 0.6rem; padding: 0.6rem 0; }
  .ilu-ficha dd { font-size: 0.94rem; }
  .ilu-que__in, .ilu-llegar__in { gap: 1.6rem; }
  .ilu-llegar h3 { margin-top: 1.2rem; }
  .ilu-faq__it summary { padding: 0.95rem 2.4rem 0.95rem 0; }
  /* En el teléfono la ficha repite lo que ya dicen el hero y «Cómo llegar» */
  .ilu-ficha { display: none; }
  .ilu-fin { padding-top: 3.2rem; padding-bottom: 3.2rem; }
  .ilu-fin__txt { margin-bottom: 1.4rem; }
  .ilu-hero__acc .ilu-btn, .ilu-llegar__btns .ilu-btn { flex: 1 1 0; padding-inline: 0.8rem; }
  .ilu-fin__btns .ilu-btn { flex: 1 1 100%; }
}
@media (max-width: 359px) {
  .ilu-hero__acc .ilu-btn, .ilu-llegar__btns .ilu-btn { flex-basis: 100%; }
}

/* ============================================================
   ACCESIBILIDAD — sin movimiento: todo encendido y quieto
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  .ilu-word span, .ilu-cielo i, .ilu-marco__ella, .ilu-fin__aro,
  .ilu-hero__pista::before, .ilu-cuenta__k--vivo::before { animation: none !important; }
  .ilu-marco__ella { transform: translate(60px, 4px); opacity: 0.55; }
}
