/* Lanzamiento — presentación de producto en negro: haz de luz, foto del producto y cuenta regresiva
   protagonista. Va después de kit/base.css y kit/empresa.css. Solo var(--mi-*) / var(--k-*). */

.ln h2 { font-weight: 400; font-size: clamp(2.6rem, 10vw, 3.8rem); letter-spacing: .04em; }
.ln-hero { background: radial-gradient(70% 45% at 50% 34%, color-mix(in srgb, var(--k-primary) 20%, transparent), transparent 70%); }
.ln .em-title { font-weight: 400; font-size: clamp(4.4rem, 24vw, 8rem); line-height: .9; letter-spacing: .02em; }
.ln-stage { position: relative; width: min(66vw, 290px); margin: 1.4rem auto 1.4rem; }
.ln-beam { position: absolute; top: -70%; left: 50%; width: 150%; height: 160%; translate: -50% 0; pointer-events: none;
  background: linear-gradient(color-mix(in srgb, var(--k-primary) 42%, transparent), transparent 85%);
  clip-path: polygon(42% 0, 58% 0, 100% 100%, 0 100%); }
.ln-stage::after { content: ""; position: absolute; left: 4%; right: 4%; bottom: -20px; height: 28px; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--k-accent) 45%, transparent), transparent); }
.ln-photo { position: relative; overflow: hidden; aspect-ratio: 1; border-radius: 24px; background: var(--k-surface); box-shadow: 0 0 0 1px color-mix(in srgb, var(--k-accent) 45%, transparent), 0 40px 80px -30px color-mix(in srgb, var(--k-primary) 60%, transparent); }
.ln-photo img { width: 100%; height: 100%; object-fit: contain; }
@media (prefers-reduced-motion: no-preference) {
  .ln-beam { animation: ln-pulse 4s ease-in-out infinite; }
}
@keyframes ln-pulse { 50% { opacity: .65; } }
.ln-left { margin: .8rem 0 -.6rem; color: var(--k-accent); }
.ln .em-countdown > div { min-width: 84px; background: transparent; box-shadow: 0 0 0 1px color-mix(in srgb, var(--k-text) 25%, transparent); }
.ln .em-countdown strong { color: var(--k-text); font-size: clamp(2.4rem, 11vw, 3.2rem); font-weight: 400; }
.ln .em-session, .ln .em-person { box-shadow: 0 0 0 1px color-mix(in srgb, var(--k-text) 14%, transparent); }
.ln .em-soft { background: color-mix(in srgb, var(--k-surface) 60%, var(--k-bg)); }
