/* Ciclo de Conferencias Lucas Lara · portada «Somos Cosmos»
   Composición a partir del boceto del responsable: texto a la izquierda, ilustración flotante a la derecha,
   órbitas a tiza (como las líneas blancas del mural), objetos flotantes y tarjetas de cristal.
   Sin JavaScript todo es visible y estático. Con movimiento reducido no hay animaciones. */

@property --angulo { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

:root {
  --noche: #060920;
  --noche-2: #0b1033;
  --noche-3: #141a4a;
  --tiza: #f4efe4;
  --tiza-2: rgba(244, 239, 228, .78);
  --tiza-3: rgba(244, 239, 228, .55);
  --acrecion: #ff8c42;
  --acrecion-claro: #ffb877;
  --cian: #5fe3f5;
  --cian-claro: #a8f1fb;
  --violeta: #8c6cf0;
  --rojo: #ff5a5f;
  --ambar: #ffc857;
  --display: "Montserrat", "Segoe UI Variable Display", "Segoe UI", "SF Pro Display", system-ui, -apple-system, Roboto, sans-serif;
  --sans: "Inter", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --serif: "Fraunces", "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --borde: rgba(244, 239, 228, .14);
  --cristal: rgba(17, 22, 62, .55);
  --margen: clamp(1.1rem, 4.5vw, 4.5rem);
  --ease: cubic-bezier(.22, .8, .2, 1);
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: var(--noche); color: var(--tiza);
  font: 400 1.0625rem/1.6 var(--sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  overflow-x: clip;
}
img, video, svg, canvas { display: block; max-width: 100%; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--cian); outline-offset: 3px; border-radius: 6px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tenue { color: var(--tiza-3); }
svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.saltar { position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--tiza); color: var(--noche); padding: .7rem 1rem; border-radius: 8px; font-weight: 600; }
.saltar:focus { top: 1rem; }

/* ---------------------------------------------------------------- cabecera en cápsula de cristal */
.cabecera { position: fixed; inset: 0 0 auto 0; z-index: 40; padding: max(.9rem, env(safe-area-inset-top)) var(--margen) 0; pointer-events: none; }
.cabecera__capsula {
  pointer-events: auto; max-width: 1440px; margin: 0 auto; display: flex; align-items: center; gap: 1.5rem;
  padding: .45rem .5rem .45rem 1.3rem; border-radius: 999px;
  background: rgba(10, 14, 44, .42); border: 1px solid rgba(244, 239, 228, .16);
  backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3);
  box-shadow: 0 10px 40px -20px rgba(0, 0, 0, .8), inset 0 1px 0 rgba(255, 255, 255, .06);
  transition: background .4s var(--ease);
}
.cabecera--solida .cabecera__capsula { background: rgba(10, 14, 44, .82); }
.marca { display: grid; text-decoration: none; line-height: 1.05; white-space: nowrap; flex: none; }
.marca__ciclo { font: 650 .62rem/1.2 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--tiza-2); }
.marca__nombre { font: 700 1.2rem/1 var(--display); letter-spacing: .01em; }
.nav { display: none; gap: .3rem; margin-right: auto; }
.nav a { position: relative; padding: .6rem .95rem; text-decoration: none; font: 500 .98rem var(--display); color: var(--tiza-2); border-radius: 999px; transition: color .3s; }
.nav a:hover { color: var(--tiza); }
.nav a[aria-current="page"] { color: var(--cian); }
.nav a[aria-current="page"]::after { content: ""; position: absolute; left: .95rem; right: .95rem; bottom: .25rem; height: 2px; border-radius: 2px; background: var(--cian); box-shadow: 0 0 10px var(--cian); }
.cabecera__acciones { display: flex; align-items: center; gap: .25rem; margin-left: auto; }
.icono, .idioma, .menu-boton {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  min-width: 44px; min-height: 44px; padding: 0 .6rem; border-radius: 999px; color: var(--tiza);
  background: transparent; border: 0; text-decoration: none; font: 600 .9rem var(--sans); cursor: pointer;
}
.icono svg, .menu-boton svg { width: 22px; height: 22px; }
.icono:hover, .idioma:hover, .menu-boton:hover { background: rgba(244, 239, 228, .1); }
.menu-boton { border: 1px solid var(--borde); padding: 0 1rem; }
.contador { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--acrecion); color: var(--noche); font-size: .7rem; line-height: 18px; text-align: center; }
@media (min-width: 1000px) { .nav { display: flex; } .cabecera__acciones { margin-left: 0; } .menu-boton span { display: none; } }
@media (max-width: 420px) { .menu-boton span { display: none; } .menu-boton { padding: 0 .6rem; } .marca__ciclo { font-size: .56rem; } }

/* ---------------------------------------------------------------- menú */
.menu { position: fixed; inset: 0; z-index: 60; background: radial-gradient(120% 90% at 85% 10%, rgba(140, 108, 240, .35), transparent 60%), rgba(6, 9, 32, .97); padding: calc(5.5rem + env(safe-area-inset-top)) var(--margen) 2rem; display: flex; flex-direction: column; overflow-y: auto; }
.menu[hidden] { display: none; }
.menu__cerrar { position: absolute; top: max(1rem, env(safe-area-inset-top)); right: var(--margen); display: inline-flex; gap: .4rem; align-items: center; min-height: 44px; padding: 0 1rem; background: none; border: 1px solid var(--borde); border-radius: 999px; color: var(--tiza); font: 600 .9rem var(--sans); cursor: pointer; }
.menu__cerrar svg { width: 20px; height: 20px; }
.menu__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .2rem; }
.menu__lista a { display: flex; align-items: baseline; gap: 1rem; padding: .45rem 0; text-decoration: none; font: 700 clamp(1.9rem, 6vw, 3.6rem)/1.1 var(--display); letter-spacing: -.02em; }
.menu__lista a span { font: 600 .8rem var(--sans); color: var(--cian); letter-spacing: .12em; }
.menu__lista a:hover { color: var(--cian-claro); }
.menu__pie { margin-top: auto; padding-top: 2rem; color: var(--tiza-2); font-size: .9rem; max-width: 42rem; }
.conmutador { min-height: 44px; padding: 0 1rem; border-radius: 999px; border: 1px solid var(--borde); background: none; color: var(--tiza); font: 600 .9rem var(--sans); cursor: pointer; }
.conmutador[aria-pressed="true"] { background: var(--tiza); color: var(--noche); }

/* ---------------------------------------------------------------- escena inicial */
.hero {
  position: relative; isolation: isolate; overflow: clip;
  padding: calc(6.5rem + env(safe-area-inset-top)) var(--margen) 2.5rem;
  background: radial-gradient(120% 80% at 70% 30%, var(--noche-2), var(--noche) 70%);
}
.hero__estrellas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.hero__nebulosa {
  position: absolute; inset: -20%; z-index: -1; pointer-events: none; filter: blur(60px); opacity: .9;
  background:
    radial-gradient(30% 28% at 18% 30%, rgba(140, 108, 240, .28), transparent 70%),
    radial-gradient(26% 24% at 72% 20%, rgba(95, 227, 245, .16), transparent 70%),
    radial-gradient(28% 22% at 80% 78%, rgba(255, 140, 66, .16), transparent 70%);
  animation: deriva 40s ease-in-out infinite alternate;
}
@keyframes deriva { to { transform: translate3d(-3%, 2%, 0) scale(1.06); } }
.hero__rejilla { position: relative; max-width: 1440px; margin: 0 auto; display: grid; gap: 1rem; align-items: center; }
@media (min-width: 900px) { .hero__rejilla { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: calc(100svh - 15rem); } }

.hero__texto { position: relative; z-index: 2; }
.hero__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem .9rem; margin: 0 0 1.3rem; font: 650 .74rem/1.4 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--tiza-2); }
.sello { display: inline-flex; align-items: center; padding: .4rem .75rem; border-radius: 999px; border: 1px solid rgba(255, 184, 119, .5); color: var(--acrecion-claro); background: rgba(255, 140, 66, .08); letter-spacing: .14em; }
.titular { margin: 0; font: 800 clamp(2.5rem, 4.5vw, 4.7rem)/1.02 var(--display); letter-spacing: -.03em; text-wrap: balance; }
.palabra { display: inline-block; overflow: hidden; vertical-align: top; padding: .02em .02em .12em; margin: -.02em 0 -.12em; }
.palabra > span { display: inline-block; }
.palabra--brillo > span {
  background: linear-gradient(100deg, var(--cian) 0%, #c7b8ff 30%, var(--acrecion-claro) 55%, var(--cian) 80%, #c7b8ff 100%);
  background-size: 250% 100%; -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: brillo 10s linear infinite;
}
@keyframes brillo { to { background-position: -250% 0; } }
.preparada .titular .palabra > span { transform: translateY(110%); }
.lista .titular .palabra > span { transform: none; transition: transform 1.1s var(--ease); transition-delay: calc(var(--i) * 70ms + 150ms); }
.hero__entradilla { margin: 1.5rem 0 0; max-width: 34rem; font-size: clamp(1.05rem, 1.35vw, 1.3rem); line-height: 1.5; color: var(--tiza-2); }
.hero__acciones { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.preparada .hero__entradilla, .preparada .hero__acciones, .preparada .hero__kicker { opacity: 0; transform: translateY(14px); }
.lista .hero__kicker, .lista .hero__entradilla, .lista .hero__acciones { opacity: 1; transform: none; transition: opacity 1s var(--ease), transform 1s var(--ease); }
.lista .hero__entradilla { transition-delay: .55s; }
.lista .hero__acciones { transition-delay: .7s; }

.boton {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 52px; padding: 0 1.6rem;
  border-radius: 999px; text-decoration: none; cursor: pointer; font: 700 1rem/1 var(--display); border: 1px solid transparent;
  transition: transform .3s var(--ease), box-shadow .3s, background .3s, border-color .3s;
}
.boton svg { width: 19px; height: 19px; }
.boton--principal {
  background: linear-gradient(180deg, #7aeaf9, var(--cian)); color: #031a22;
  box-shadow: 0 0 0 1px rgba(168, 241, 251, .6), 0 8px 30px -6px rgba(95, 227, 245, .65), 0 0 50px -10px rgba(95, 227, 245, .55);
}
.boton--principal:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(168, 241, 251, .8), 0 12px 40px -6px rgba(95, 227, 245, .8), 0 0 70px -8px rgba(95, 227, 245, .7); }
.boton--secundario { background: rgba(244, 239, 228, .05); color: var(--tiza); border-color: rgba(244, 239, 228, .3); backdrop-filter: blur(8px); }
.boton--secundario:hover { border-color: var(--tiza); background: rgba(244, 239, 228, .1); }
.boton--icono { width: 50px; padding: 0; background: rgba(244, 239, 228, .06); color: var(--tiza); border-color: var(--borde); }
.boton--icono svg { width: 21px; height: 21px; }
.boton[aria-disabled="true"] { opacity: .6; cursor: not-allowed; }

/* Ilustración flotante con capas de profundidad */
.hero__arte { position: relative; perspective: 1400px; z-index: 1; }
@media (min-width: 900px) {
  .hero__arte { margin-right: calc(-1 * var(--margen)); }
  .hero__arte .arte { width: 138%; margin-left: -16%; margin-block: -6% -4%; }
}
.arte { position: relative; aspect-ratio: 16 / 9; transform-style: preserve-3d; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); will-change: transform; }
.arte__imagen { position: absolute; inset: 0; transform: translateZ(0); }
.arte__imagen picture, .arte__imagen img, .arte__video video { width: 100%; height: 100%; object-fit: cover; }
.arte__imagen img, .arte__video {
  /* Fundido completo en los cuatro bordes (intersección de dos degradados) y suavizado de las esquinas */
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.35) 7%, #000 20%, #000 84%, rgba(0,0,0,.35) 94%, transparent 100%), linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.35) 8%, #000 22%, #000 80%, rgba(0,0,0,.35) 92%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.35) 7%, #000 20%, #000 84%, rgba(0,0,0,.35) 94%, transparent 100%), linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.35) 8%, #000 22%, #000 80%, rgba(0,0,0,.35) 92%, transparent 100%);
  mask-composite: intersect;
}
.arte__video { position: absolute; inset: 0; opacity: 0; transition: opacity 1.6s ease-in-out; }
.arte__video--visible { transition-duration: .5s; }
.arte__video--visible { opacity: 1; }
.preparada .arte__imagen img { opacity: 0; transform: scale(1.06); }
.lista .arte__imagen img { opacity: 1; transform: none; transition: opacity 1.6s var(--ease), transform 2.4s var(--ease); }
.arte__disco { position: absolute; left: 81%; top: 74%; width: 34%; aspect-ratio: 1; transform: translate(-50%, -50%) rotate(-17deg) scaleY(.44); pointer-events: none; mix-blend-mode: screen; opacity: .55; }
.arte__disco::before {
  content: ""; position: absolute; inset: 0; border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 0 8%, rgba(255, 196, 120, .7) 14%, transparent 26%, rgba(255, 120, 50, .55) 46%, transparent 60%, rgba(255, 220, 170, .5) 76%, transparent 88%);
  -webkit-mask-image: radial-gradient(circle, transparent 0 22%, #000 32%, #000 52%, transparent 70%);
  mask-image: radial-gradient(circle, transparent 0 22%, #000 32%, #000 52%, transparent 70%);
  animation: giro 16s linear infinite;
}
@keyframes giro { to { transform: rotate(-360deg); } }
.arte__galaxia { position: absolute; left: 89%; top: 16%; width: 14%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; pointer-events: none; mix-blend-mode: screen;
  background: radial-gradient(circle, rgba(220, 240, 255, .7), rgba(140, 108, 240, .25) 40%, transparent 70%); animation: titileo 6s ease-in-out infinite; }
@keyframes titileo { 0%, 100% { opacity: .25; transform: translate(-50%, -50%) scale(.9); } 50% { opacity: .7; transform: translate(-50%, -50%) scale(1.08); } }

.arte__orbitas, .arte__objetos { position: absolute; inset: -4% -2%; width: 104%; height: 108%; overflow: visible; pointer-events: none; }
.arte__orbitas { transform: translateZ(40px); }
.arte__objetos { transform: translateZ(90px); }
.orbita { fill: none; stroke: rgba(244, 239, 228, .5); stroke-width: 1.4; stroke-dasharray: 1; stroke-dashoffset: 0; }
.orbita--3 { stroke: rgba(244, 239, 228, .28); stroke-width: 1.1; }
.preparada .orbita { stroke-dashoffset: 1; }
.lista .orbita { stroke-dashoffset: 0; transition: stroke-dashoffset 3.2s var(--ease); }
.lista .orbita--2 { transition-delay: .5s; }
.lista .orbita--3 { transition-delay: 1s; }
.planeta { filter: drop-shadow(0 0 6px rgba(255, 170, 110, .55)); }
.objetos__trazos { fill: none; stroke: rgba(244, 239, 228, .85); stroke-width: 1.8; }
.objeto { transform-box: fill-box; transform-origin: center; animation: flotar 9s ease-in-out infinite; }
.objeto--asteroide { animation-duration: 12s; animation-delay: -3s; fill: rgba(20, 26, 74, .6); }
.objeto--telescopio { animation-duration: 14s; animation-delay: -6s; }
@keyframes flotar { 0%, 100% { transform: translate(0, 0) rotate(0deg); } 50% { transform: translate(6px, -12px) rotate(4deg); } }

/* Tarjetas de cristal */
.tarjetas { position: relative; z-index: 2; list-style: none; max-width: 1440px; margin: 2.5rem auto 0; padding: 0; display: grid; gap: 1rem; }
@media (min-width: 900px) { .tarjetas { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; margin-top: 1rem; } }
.tarjeta { position: relative; border-radius: 22px; isolation: isolate; }
.tarjeta::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; z-index: -1;
  background: conic-gradient(from var(--angulo), rgba(95, 227, 245, .55), rgba(140, 108, 240, .55), rgba(255, 140, 66, .35), rgba(95, 227, 245, .55));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  animation: borde 8s linear infinite;
}
@keyframes borde { to { --angulo: 360deg; } }
.tarjeta a {
  display: flex; align-items: stretch; gap: 1rem; height: 100%; padding: 1.1rem; border-radius: inherit; text-decoration: none;
  background: var(--cristal); backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px) saturate(1.2);
  transition: transform .4s var(--ease), box-shadow .4s, background .4s;
}
.tarjeta a:hover { transform: translateY(-4px); background: rgba(24, 30, 80, .7); box-shadow: 0 20px 50px -20px rgba(95, 227, 245, .45); }
.tarjeta__texto { display: flex; flex-direction: column; gap: .45rem; flex: 1; min-width: 0; padding: .3rem .2rem; }
.tarjeta__etiqueta { font: 650 .7rem var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--cian); }
.tarjeta__titulo { font: 700 1.15rem/1.25 var(--display); letter-spacing: -.01em; }
.tarjeta__meta { margin-top: auto; align-self: flex-start; padding: .3rem .7rem; border-radius: 999px; background: rgba(244, 239, 228, .08); font-size: .82rem; color: var(--tiza-2); }
.tarjeta__imagen { flex: none; width: 112px; border-radius: 14px; overflow: hidden; background: var(--noche-3); }
.tarjeta__imagen img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .6s var(--ease); }
.tarjeta a:hover .tarjeta__imagen img { transform: scale(1.06); }
.tarjeta__imagen--recorte {
  background-image: image-set(url("/assets/img/somos-cosmos-800.avif") type("image/avif"), url("/assets/img/somos-cosmos-800.webp") type("image/webp"), url("/assets/img/somos-cosmos-800.jpg") type("image/jpeg"));
  background-size: 520% auto; background-position: var(--x) var(--y); transition: background-size .8s var(--ease);
}
.tarjeta a:hover .tarjeta__imagen--recorte { background-size: 560% auto; }
.tarjeta__vacio { display: block; width: 100%; height: 100%; background: repeating-linear-gradient(135deg, rgba(244, 239, 228, .05) 0 8px, transparent 8px 16px); }
.preparada .tarjeta { opacity: 0; transform: translateY(24px); }
.lista .tarjeta { opacity: 1; transform: none; transition: opacity 1s var(--ease), transform 1s var(--ease); }
.lista .tarjeta:nth-child(1) { transition-delay: 1s; }
.lista .tarjeta:nth-child(2) { transition-delay: 1.12s; }
.lista .tarjeta:nth-child(3) { transition-delay: 1.24s; }
.hero__logo { position: relative; z-index: 2; height: clamp(26px, 2.6vw, 36px); width: auto; margin: 2.2rem auto 0; opacity: .9; }
@media (max-width: 899px) {
  .hero__arte { order: -1; margin: -1.5rem calc(-1 * var(--margen)) -2rem; }
  .hero__arte .arte { width: 128%; margin-left: -18%; }
  .arte__objetos .objeto--telescopio { display: none; }
  .hero__logo { height: auto; width: 100%; max-width: 440px; }
  .tarjeta__imagen { width: 92px; }
}

/* ---------------------------------------------------------------- conferencia destacada */
.destacada { position: relative; padding: clamp(4rem, 9vw, 7rem) var(--margen); background: radial-gradient(60% 50% at 85% 0%, rgba(140, 108, 240, .2), transparent 70%), var(--noche); scroll-margin-top: 4rem; }
.demo-aviso { max-width: 72rem; margin: 0 auto 2rem; padding: .9rem 1.1rem; border-radius: 14px; border: 1px dashed var(--ambar); background: rgba(255, 200, 87, .08); font-size: .95rem; }
.destacada__rejilla { max-width: 72rem; margin: 0 auto; display: grid; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
@media (min-width: 900px) { .destacada__rejilla { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.cartel { margin: 0; justify-self: center; width: min(100%, 26rem); }
.cartel img { width: 100%; height: auto; border-radius: 12px; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .8), 0 0 0 1px rgba(244, 239, 228, .08), 0 0 80px -30px rgba(95, 227, 245, .5); }
.cartel__vacio { aspect-ratio: 1280 / 1811; border-radius: 12px; border: 1px dashed var(--borde); display: grid; place-content: center; text-align: center; gap: .4rem; padding: 2rem; background: repeating-linear-gradient(135deg, rgba(244, 239, 228, .03) 0 12px, transparent 12px 24px), var(--noche-2); font: 700 1.3rem var(--display); color: var(--tiza-2); }
.cartel__vacio small { font: 400 .85rem var(--sans); color: var(--tiza-3); }
.ficha__estado { display: inline-flex; align-items: center; gap: .55rem; margin: 0 0 1rem; font: 650 .78rem var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--tiza-2); }
.punto { width: .5rem; height: .5rem; border-radius: 50%; background: var(--acrecion); box-shadow: 0 0 0 4px rgba(255, 140, 66, .2); flex: none; }
.estado--proxima .punto { background: var(--cian); box-shadow: 0 0 0 4px rgba(95, 227, 245, .2); }
.estado--directo { color: var(--tiza); }
.estado--directo .punto { background: var(--rojo); box-shadow: 0 0 0 4px rgba(255, 90, 95, .25); animation: latido 1.6s infinite; }
.estado--finalizada .punto { background: var(--tiza-2); box-shadow: none; }
.estado--aplazada .punto { background: var(--ambar); }
.estado--cancelada .punto { background: var(--rojo); }
.estado--cancelada ~ .ficha__titulo { text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: rgba(255, 90, 95, .7); }
@keyframes latido { 50% { box-shadow: 0 0 0 9px rgba(255, 90, 95, 0); } }
.ficha__titulo { margin: 0; font: 800 clamp(2rem, 3.8vw, 3.2rem)/1.06 var(--display); letter-spacing: -.025em; text-wrap: balance; }
.ficha__ponente { margin: 1rem 0 0; font-size: 1.15rem; font-weight: 650; }
.ficha__ponente span { display: block; font-weight: 400; color: var(--tiza-2); font-size: 1rem; }
.ficha__datos { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 1rem 2rem; margin: 1.8rem 0; padding: 1.2rem 0; border-block: 1px solid var(--borde); }
.ficha__datos dt { font: 650 .72rem var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--tiza-3); }
.ficha__datos dd { margin: .25rem 0 0; }
.ficha__sinopsis { color: var(--tiza-2); max-width: 40rem; }
.aviso { padding: .8rem 1rem; border-radius: 10px; border-left: 4px solid var(--ambar); background: rgba(255, 200, 87, .08); }
.aviso--cancelada { border-color: var(--rojo); background: rgba(255, 90, 95, .08); }
.ficha__acciones { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin-top: 1.6rem; }
.favorito[aria-pressed="true"] { color: var(--acrecion); border-color: var(--acrecion); }
.favorito[aria-pressed="true"] svg { fill: currentColor; }
.ficha__compartir-estado { min-height: 1.5em; margin: .6rem 0 0; font-size: .9rem; color: var(--cian); }
.calendario { position: relative; }
.calendario__opciones { position: absolute; z-index: 5; top: calc(100% + .4rem); left: 0; min-width: 16rem; margin: 0; padding: .4rem; list-style: none; background: var(--noche-3); border: 1px solid var(--borde); border-radius: 12px; box-shadow: 0 20px 40px rgba(0, 0, 0, .5); }
.calendario__opciones a { display: block; padding: .7rem .8rem; border-radius: 8px; text-decoration: none; }
.calendario__opciones a:hover, .calendario__opciones a:focus-visible { background: rgba(244, 239, 228, .08); }

/* ---------------------------------------------------------------- 30.º aniversario (sin fotografía) */
.aniversario-seccion { position: relative; display: grid; gap: clamp(1rem, 4vw, 4rem); align-items: center; padding: clamp(4rem, 9vw, 7rem) var(--margen); background: linear-gradient(180deg, var(--noche) 0%, var(--noche-2) 100%); overflow: clip; }
@media (min-width: 900px) { .aniversario-seccion { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); } }
.aniversario-seccion__treinta { width: 100%; max-width: 520px; justify-self: center; overflow: visible; }
.aniversario-seccion__treinta text { font: 300 260px var(--serif); fill: rgba(255, 184, 119, .06); stroke: var(--acrecion-claro); stroke-width: 1.6; stroke-dasharray: 1400; stroke-dashoffset: 0; }
.preparada .aniversario-seccion__treinta text { stroke-dashoffset: 1400; }
.preparada .aniversario-seccion__treinta.visible text { stroke-dashoffset: 0; transition: stroke-dashoffset 3.5s var(--ease); }
.seccion-kicker { margin: 0 0 .7rem; font: 650 .76rem var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--acrecion-claro); }
.aniversario-seccion h2, .archivo h2 { margin: 0 0 1.2rem; font: 800 clamp(2rem, 4.2vw, 3.4rem)/1.05 var(--display); letter-spacing: -.025em; text-wrap: balance; }
.aniversario-seccion__texto > p { color: var(--tiza-2); font-size: 1.1rem; max-width: 36rem; }
.tarjetas-especial { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; gap: .9rem; }
.tarjetas-especial li { padding: 1.1rem 1.2rem; border: 1px solid var(--borde); border-radius: 16px; background: rgba(244, 239, 228, .03); }
.tarjetas-especial h3 { margin: .3rem 0 .2rem; font: 700 1.2rem var(--display); }
.tarjetas-especial p { margin: 0; color: var(--tiza-2); font-size: .95rem; }
.tarjetas-especial__estado { font: 650 .7rem var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--cian); }

/* ---------------------------------------------------------------- archivo */
.archivo { padding: clamp(4rem, 9vw, 7rem) var(--margen) clamp(3rem, 6vw, 5rem); background: var(--noche-2); }
.archivo > * { max-width: 72rem; margin-inline: auto; }
.puertas { display: grid; gap: 1rem; margin-top: 2rem; }
@media (min-width: 760px) { .puertas { grid-template-columns: 1fr 1fr; } }
.puerta { position: relative; display: flex; flex-direction: column; gap: .8rem; min-height: 19rem; padding: clamp(1.4rem, 3vw, 2.4rem); border-radius: 24px; overflow: hidden; border: 1px solid var(--borde); }
.puerta h3, .puerta p { margin: 0; }
.puerta--ver { background: radial-gradient(90% 80% at 100% 0%, rgba(140, 108, 240, .45), transparent 65%), var(--noche-3); }
.puerta--escuchar {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 120'%3E%3Cpath d='M0 60 Q 25 20 50 60 T 100 60 T 150 60 T 200 60 T 250 60 T 300 60 T 350 60 T 400 60' fill='none' stroke='%235fe3f5' stroke-opacity='.35' stroke-width='1.5'/%3E%3Cpath d='M0 60 Q 25 95 50 60 T 100 60 T 150 60 T 200 60 T 250 60 T 300 60 T 350 60 T 400 60' fill='none' stroke='%23ff8c42' stroke-opacity='.3' stroke-width='1.5'/%3E%3C/svg%3E") right -40px bottom 20px / 70% auto no-repeat,
    radial-gradient(90% 80% at 0% 100%, rgba(255, 140, 66, .28), transparent 65%), var(--noche-3);
}
.puerta__accion { font: 800 clamp(3rem, 6.5vw, 5rem)/.95 var(--display); letter-spacing: -.04em; }
.puerta__desc { color: var(--tiza-2); max-width: 30rem; }
.puerta__desc strong { display: block; color: var(--tiza); font: 700 1.25rem/1.25 var(--display); margin-bottom: .4rem; }
.puerta__pronto { margin-top: auto; font: 650 .7rem var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--tiza-3); }
.buscador { margin-top: 3rem; scroll-margin-top: 6rem; }
.buscador label { display: block; margin-bottom: .7rem; font: 700 1.5rem var(--display); }
.buscador__campo { display: flex; gap: .5rem; padding: .4rem; border-radius: 999px; border: 1px solid rgba(244, 239, 228, .35); background: rgba(6, 9, 32, .5); }
.buscador__campo:focus-within { border-color: var(--cian); box-shadow: 0 0 0 4px rgba(95, 227, 245, .15); }
.buscador input { flex: 1; min-width: 0; min-height: 48px; padding: 0 1rem; background: none; border: 0; color: var(--tiza); font: 400 1.05rem var(--sans); }
.buscador input::placeholder { color: var(--tiza-3); }
.buscador input:focus { outline: none; }
.buscador button { min-height: 48px; padding: 0 1.4rem; border-radius: 999px; border: 0; background: var(--tiza); color: var(--noche); font: 700 .95rem var(--display); cursor: pointer; }
.buscador__nota { font-size: .88rem; color: var(--tiza-3); margin: .7rem 0 0 1rem; }
.tesoro { margin-top: 3rem; padding: clamp(1.4rem, 3vw, 2.2rem); border-radius: 24px; border: 1px solid var(--borde); background: linear-gradient(120deg, rgba(255, 140, 66, .1), transparent 60%); scroll-margin-top: 6rem; }
.tesoro h3 { margin: 0; font: 800 clamp(1.5rem, 2.8vw, 2.2rem)/1.15 var(--display); letter-spacing: -.02em; }
.tesoro__meta { color: var(--tiza-2); margin: .5rem 0 1rem; }
.enlace-flecha { font-weight: 650; text-underline-offset: .25em; text-decoration-color: var(--acrecion); }
.favoritos { margin-top: 3rem; scroll-margin-top: 6rem; }
.favoritos h3 { font: 700 1.4rem var(--display); margin: 0 0 .4rem; }
.favoritos p { color: var(--tiza-3); font-size: .95rem; }
.favoritos ul { padding-left: 1.2rem; }

/* ---------------------------------------------------------------- pie */
.pie { padding: 3rem var(--margen) calc(3rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--borde); text-align: center; color: var(--tiza-2); font-size: .9rem; }
.pie .logo-institucional { margin: 0 auto 1.4rem; width: min(100%, 520px); height: auto; }
.pie__sonovoz { margin-top: 1.2rem; font: italic 400 1rem var(--serif); color: var(--tiza-3); }

/* ---------------------------------------------------------------- revisión (solo local) */
.revision { position: fixed; left: 1rem; bottom: 1rem; z-index: 80; max-width: 19rem; padding: .6rem .9rem; border-radius: 12px; background: rgba(255, 200, 87, .95); color: #1d1500; font-size: .85rem; box-shadow: 0 10px 30px rgba(0, 0, 0, .4); }
.revision summary { cursor: pointer; font-weight: 700; }
.revision ul { margin: .4rem 0; padding-left: 1.1rem; }
.revision__alerta { font-weight: 700; }

/* ---------------------------------------------------------------- movimiento reducido: composición estática completa */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .preparada .titular .palabra > span, .preparada .hero__entradilla, .preparada .hero__acciones, .preparada .hero__kicker, .preparada .tarjeta, .preparada .arte__imagen img { opacity: 1 !important; transform: none !important; }
  .preparada .orbita, .preparada .aniversario-seccion__treinta text { stroke-dashoffset: 0 !important; }
}
.movimiento-reducido { scroll-behavior: auto; }
.movimiento-reducido *, .movimiento-reducido *::before, .movimiento-reducido *::after { animation: none !important; transition: none !important; }
.movimiento-reducido .titular .palabra > span, .movimiento-reducido .hero__entradilla, .movimiento-reducido .hero__acciones, .movimiento-reducido .hero__kicker,
.movimiento-reducido .tarjeta, .movimiento-reducido .arte__imagen img { opacity: 1 !important; transform: none !important; }
.movimiento-reducido .orbita, .movimiento-reducido .aniversario-seccion__treinta text { stroke-dashoffset: 0 !important; }

/* Emisión anunciada en la página oficial de la próxima cita. */
.emision-anunciada { margin: 1.5rem 0; }
.emision-anunciada h3 { font: 600 .8rem var(--sans); letter-spacing: .08em; margin: 0 0 .75rem; }
.emision-anunciada iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 1px solid var(--borde); border-radius: 4px; background: #000; }
.puerta__accion a { color: inherit; text-decoration: none; }
.puerta__accion a:hover { text-decoration: underline; }

/* Archivo editorial: una charla real, una voz real y tres rutas claras. */
.archivo-editorial__cabecera { display: flex; justify-content: space-between; align-items: end; gap: 3rem; margin-bottom: clamp(2rem, 4vw, 3.8rem); }
.archivo .archivo-editorial__cabecera h2 { margin: 0; font: 400 clamp(2.5rem, 5vw, 5rem)/1.04 var(--serif); letter-spacing: -.055em; }
.archivo-editorial__cabecera h2 em { color: var(--acrecion-claro); font-weight: 400; }
.archivo-editorial__cabecera > p { max-width: 23rem; margin: 0 0 .4rem; color: var(--tiza-2); font-size: 1rem; line-height: 1.65; }
.archivo-editorial { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(0, .72fr); gap: 1px; border: 1px solid rgba(244,239,228,.18); background: rgba(244,239,228,.18); overflow: hidden; }
.archivo-editorial > article { min-width: 0; min-height: 32rem; }
.archivo-editorial__conferencia { display: grid; grid-template-columns: minmax(0, 47%) minmax(0, 53%); background: radial-gradient(circle at 13% 86%, #2c4167 0, transparent 45%), #0d1730; }
.archivo-editorial__poster { display: grid; place-items: center; min-width: 0; padding: clamp(1.2rem, 3.5vw, 3rem); background: radial-gradient(ellipse at center, #7489a323, transparent 68%); }
.archivo-editorial__poster picture { display: block; width: min(100%, 22rem); transform: rotate(-3deg); box-shadow: 20px 26px 55px #0008, 0 0 0 1px #ffffff27; transition: transform .45s var(--ease), box-shadow .45s var(--ease); }
.archivo-editorial__poster:hover picture { transform: rotate(0) translateY(-5px); box-shadow: 15px 30px 60px #000a, 0 0 0 1px #ffffff45; }
.archivo-editorial__poster img { width: 100%; height: auto; }
.archivo-editorial__contenido, .archivo-editorial__audio { display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.7rem); }
.archivo-editorial__contenido { align-items: start; }
.archivo-editorial__indice { display: flex; align-items: center; gap: .75rem; margin: 0 0 auto; color: var(--acrecion-claro); font: 600 .72rem var(--sans); letter-spacing: .17em; text-transform: uppercase; }
.archivo-editorial__indice span { color: var(--tiza-2); letter-spacing: .13em; }
.archivo-editorial__tema { margin: 2rem 0 .55rem; color: var(--cian-claro); font: 600 .72rem var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.archivo .archivo-editorial h3 { margin: 0; font: 400 clamp(1.7rem, 2.5vw, 2.8rem)/1.16 var(--serif); letter-spacing: -.025em; text-wrap: balance; }
.archivo-editorial__autor { margin: 1rem 0 2.5rem; color: var(--tiza-2); font-size: .92rem; }
.archivo-editorial__enlace { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 48px; padding: 0 0 .3rem; border-bottom: 1px solid var(--acrecion-claro); color: var(--tiza); font: 650 .89rem var(--sans); text-decoration: none; }
.archivo-editorial__enlace:hover { color: var(--acrecion-claro); }
.archivo-editorial__audio { justify-content: space-between; background: radial-gradient(circle at 95% 0%, #d883562b, transparent 50%), #171a2e; scroll-margin-top: 6rem; }
.archivo-editorial__audio-cabecera { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.archivo-editorial__audio .archivo-editorial__tema { color: var(--acrecion-claro); }
.archivo-editorial__onda { display: flex; align-items: center; gap: 3px; height: 4rem; color: var(--acrecion-claro); opacity: .85; }
.archivo-editorial__onda i { display: block; width: 2px; height: 18%; border-radius: 2px; background: currentColor; }
.archivo-editorial__onda i:nth-child(3n) { height: 65%; }.archivo-editorial__onda i:nth-child(4n) { height: 38%; }.archivo-editorial__onda i:nth-child(7n) { height: 100%; }
.archivo-editorial__audio-acciones { display: flex; flex-direction: column; align-items: start; gap: .85rem; }
.archivo-editorial__audio-acciones > a:last-child { color: var(--tiza-2); font-size: .84rem; text-underline-offset: .25em; }
.archivo-editorial__rutas { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 2rem; padding: 1.4rem 0; border-bottom: 1px solid var(--borde); }
.archivo-editorial__rutas > span { margin-right: auto; color: var(--tiza-3); font: 600 .72rem var(--sans); text-transform: uppercase; letter-spacing: .15em; }
.archivo-editorial__rutas a { color: var(--tiza); font: 550 .9rem var(--sans); text-decoration: none; }
.archivo-editorial__rutas a:hover { color: var(--acrecion-claro); }
.archivo-editorial__ancla { height: 0; scroll-margin-top: 6rem; }
@media (max-width: 960px) {
  .archivo-editorial { grid-template-columns: 1fr; }
  .archivo-editorial > article { min-height: 25rem; }
  .archivo-editorial__audio { min-height: 20rem !important; }
}
@media (max-width: 650px) {
  .archivo-editorial__cabecera { display: block; }
  .archivo-editorial__cabecera > p { margin-top: 1.3rem; }
  .archivo-editorial__conferencia { grid-template-columns: 1fr; }
  .archivo-editorial__poster { padding: 2rem 4rem .5rem; max-height: 22rem; overflow: hidden; }
  .archivo-editorial__poster picture { width: min(100%, 13rem); }
  .archivo-editorial__contenido { min-height: 21rem; }
  .archivo-editorial__rutas { align-items: start; gap: 1rem; }
  .archivo-editorial__rutas > span { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .archivo-editorial__poster picture { transition: none; }
}

/* La conversación y los avisos: cierre claro y útil de la portada. */
.conversacion, .avisos { padding: clamp(4rem, 8vw, 7rem) var(--margen); }
.conversacion { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 7vw, 7rem); background: #10172c; }
.conversacion__intro, .conversacion__opciones, .avisos > * { max-width: 72rem; }
.conversacion h2, .avisos h2 { margin: 0; font: 400 clamp(2.7rem, 5vw, 5.2rem)/1.04 var(--serif); letter-spacing: -.055em; }
.conversacion h2 em, .avisos h2 em { color: var(--acrecion-claro); }
.conversacion__intro > p:last-child, .avisos > div > p:last-child { max-width: 28rem; color: var(--tiza-2); }
.conversacion__opciones { display: grid; }
.conversacion__opciones a { display: grid; grid-template-columns: 1fr auto; gap: .4rem 1rem; align-items: end; padding: 1.25rem 0; border-top: 1px solid #ffffff2b; text-decoration: none; }
.conversacion__opciones a:last-child { border-bottom: 1px solid #ffffff2b; }
.conversacion__opciones a > span:first-child { grid-column: 1/-1; color: var(--acrecion-claro); font: 600 .69rem var(--sans); letter-spacing: .15em; text-transform: uppercase; }
.conversacion__opciones strong { font: 400 clamp(1.5rem, 2.7vw, 2.4rem)/1.12 var(--serif); }
.conversacion__opciones a > span:last-child { font-size: 1.5rem; color: var(--cian-claro); }
.conversacion__opciones a:hover strong { color: var(--acrecion-claro); }
.avisos { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 3rem; border-top: 1px solid var(--borde); background: radial-gradient(circle at 83% 40%, #23445545, transparent 30%), #090f20; }
.avisos__formulario { display: grid; gap: .75rem; }
.avisos__formulario > label:first-child { font-weight: 600; }
.avisos__campo { display: flex; border: 1px solid #ffffff75; }
.avisos__campo input { flex: 1; min-width: 0; padding: 1rem; border: 0; background: #ffffff0a; color: var(--tiza); font: inherit; }
.avisos__campo button { padding: .8rem 1.1rem; border: 0; background: var(--acrecion-claro); color: #111927; font: 700 .86rem var(--sans); cursor: pointer; }
.avisos__consentimiento { display: flex; align-items: start; gap: .7rem; color: var(--tiza-2); font-size: .82rem; }
.avisos__consentimiento input { width: 18px; height: 18px; flex: none; margin-top: .12rem; }
.avisos__formulario p, .avisos__pendiente p { margin: 0; color: var(--tiza-2); font-size: .82rem; }
.avisos__trampa { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.avisos__pendiente { padding: 2rem; border-left: 1px solid var(--acrecion-claro); background: #ffffff08; }
.avisos__pendiente p:first-child { margin-bottom: .7rem; color: var(--tiza); font: 400 1.5rem var(--serif); }
@media (max-width: 760px) {
  .conversacion, .avisos { grid-template-columns: 1fr; }
  .avisos__campo { flex-direction: column; }
  .avisos__campo button { min-height: 48px; }
}
