/* ============================================================
   KONVERXO PODCAST · Design System
   Generado: 2026-05-30 · v3.7.5
   ============================================================ */


/* ============================================================
   KONVERXO PODCAST · DESIGN SYSTEM v3.0
   Hermano de donodelobo.es · diferenciador: broadcast/FM
   ============================================================ */

/* ── TOKENS ────────────────────────────────────────────────── */
:root {
  /* Colors */
  --bg: #050505;
  --bg-2: #0a0a0a;
  --bg-3: #111;
  --fg: #f5f5f5;
  --fg-soft: rgba(245,245,245,.7);
  --fg-mute: rgba(245,245,245,.4);

  --green: #92ED32;
  --green-soft: rgba(146, 237, 50, .15);
  --green-line: rgba(146, 237, 50, .3);
  --green-dim: rgba(146, 237, 50, .08);

  --rec: #FF3939;          /* acento REC podcast */
  --rec-soft: rgba(255, 57, 57, .15);
  --rec-dim: rgba(255, 57, 57, .08);

  --amber: #FFC107;        /* alertas */

  /* Type */
  --font-display: 'Bricolage Grotesque', system-ui, sans-serif;
  --font-mono: 'Space Mono', ui-monospace, monospace;
  --font-text: 'Geist', system-ui, sans-serif;

  /* Spacing */
  --gutter: clamp(20px, 4vw, 48px);
  --max-w: 1320px;

  /* Layout */
  --hud-top-h: 32px;
  --hud-bottom-h: 28px;
}

/* ── RESET / BASE ──────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-text);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  padding-top: var(--hud-top-h);
  padding-bottom: var(--hud-bottom-h);
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { font: inherit; cursor: pointer; }

/* ── HUD: TOP BAR ──────────────────────────────────────────── */
.hud-top {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--hud-top-h);
  z-index: 100;
  background: rgba(5, 5, 5, .92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--green-line);
  display: flex;
  align-items: center;
  padding: 0 var(--gutter);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--fg-soft);
}
.hud-top__left {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}
.hud-top__dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 8px var(--green);
  animation: pulse 2.6s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .4; }
}
.hud-top__path { color: var(--green); }
.hud-top__path-current { color: var(--fg); }
.hud-top__progress {
  flex: 1;
  margin: 0 24px;
  height: 1px;
  background: var(--green-dim);
  position: relative;
  overflow: hidden;
}
.hud-top__progress::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  height: 100%;
  width: var(--scroll-progress, 0%);
  background: var(--green);
  box-shadow: 0 0 6px var(--green);
  transition: width .1s linear;
}
.hud-top__right {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 0 0 auto;
}
.hud-top__live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--rec);
}
.hud-top__live::before {
  content: '';
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--rec);
  box-shadow: 0 0 8px var(--rec);
  animation: pulse 1.4s ease-in-out infinite;
}
.hud-top__clock {
  color: var(--fg-mute);
  font-variant-numeric: tabular-nums;
}
@media (max-width: 640px) {
  .hud-top__progress { display: none; }
  .hud-top { font-size: 10px; }
}

/* ── HUD: BOTTOM BAR ───────────────────────────────────────── */
.hud-bottom {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  height: var(--hud-bottom-h);
  z-index: 100;
  background: rgba(5, 5, 5, .92);
  backdrop-filter: blur(8px);
  border-top: 1px solid var(--green-line);
  display: flex;
  align-items: center;
  padding: 0 var(--gutter);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .12em;
  color: var(--fg-mute);
  text-transform: uppercase;
  gap: 16px;
  overflow: hidden;
}
.hud-bottom__sep { color: var(--green); opacity: .5; }
.hud-bottom__hl { color: var(--green); }
@media (max-width: 640px) {
  .hud-bottom { font-size: 9px; gap: 10px; }
  .hud-bottom__hide-sm { display: none; }
}

/* ── BACKGROUND CANVAS · ondas sonoras ─────────────────────── */
.hud-bg-wave {
  position: fixed;
  inset: var(--hud-top-h) 0 var(--hud-bottom-h) 0;
  z-index: 0;
  opacity: .18;
  pointer-events: none;
  width: 100%;
}

/* Asegurar que contenido siempre va por encima */
main, .hud-top, .hud-bottom, .hud-menu-toggle, .hud-toc { position: relative; z-index: 1; }
.hud-top, .hud-bottom, .hud-menu-toggle, .hud-toc { z-index: 100; }

/* ── HUD FRAMES · bordes recortados ────────────────────────── */
.hud-frame {
  position: relative;
}
.hud-frame::before,
.hud-frame::after {
  content: '';
  position: absolute;
  width: 14px; height: 14px;
  pointer-events: none;
}
.hud-frame::before {
  top: -1px; left: -1px;
  border-top: 2px solid var(--green);
  border-left: 2px solid var(--green);
}
.hud-frame::after {
  bottom: -1px; right: -1px;
  border-bottom: 2px solid var(--green);
  border-right: 2px solid var(--green);
}
.hud-frame--rec::before, .hud-frame--rec::after { border-color: var(--rec); }
.hud-frame--amber::before, .hud-frame--amber::after { border-color: var(--amber); }

/* Alternativa: 4 esquinas */
.hud-frame--quad::before {
  top: -1px; left: -1px;
  border-top: 2px solid var(--green);
  border-left: 2px solid var(--green);
}
.hud-frame--quad::after {
  top: -1px; right: -1px;
  border-top: 2px solid var(--green);
  border-right: 2px solid var(--green);
}
.hud-frame--quad > .hud-frame__bl,
.hud-frame--quad > .hud-frame__br {
  position: absolute;
  width: 14px; height: 14px;
  pointer-events: none;
}
.hud-frame--quad > .hud-frame__bl {
  bottom: -1px; left: -1px;
  border-bottom: 2px solid var(--green);
  border-left: 2px solid var(--green);
}
.hud-frame--quad > .hud-frame__br {
  bottom: -1px; right: -1px;
  border-bottom: 2px solid var(--green);
  border-right: 2px solid var(--green);
}

/* ── TAGS terminal ────────────────────────────────────────── */
.hud-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .15em;
  color: var(--green);
  text-transform: uppercase;
}
.hud-tag::before {
  content: '//';
  color: var(--fg-mute);
  font-weight: 400;
}
.hud-tag--rec { color: var(--rec); }
.hud-tag--amber { color: var(--amber); }
.hud-tag--solid {
  padding: 4px 10px;
  background: var(--green);
  color: var(--bg);
  border-radius: 2px;
}
.hud-tag--solid::before { display: none; }
.hud-tag--outline {
  padding: 4px 10px;
  border: 1px solid var(--green-line);
  color: var(--green);
  border-radius: 2px;
}
.hud-tag--outline::before { display: none; }

/* ── HUD MENU TOGGLE · botón flotante ──────────────────────── */
.hud-menu-toggle {
  position: fixed;
  bottom: calc(var(--hud-bottom-h) + 22px);
  right: 22px;
  width: 72px; height: 72px;
  border-radius: 50%;
  border: 1.5px solid var(--green);
  background: var(--bg);
  color: var(--green);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  z-index: 200;
  transition: transform .2s, background .2s, box-shadow .2s;
  box-shadow: 0 4px 24px rgba(0,0,0,.5), 0 0 0 0 var(--green);
}
@media (max-width: 560px) {
  .hud-menu-toggle {
    width: 56px;
    height: 56px;
    bottom: calc(var(--hud-bottom-h) + 14px);
    right: 14px;
  }
  .hud-menu-toggle__icon { width: 18px; height: 18px; gap: 4px; }
  .hud-menu-toggle__label { font-size: 7px; }
}
.hud-menu-toggle:hover {
  transform: scale(1.05);
  background: var(--green);
  color: var(--bg);
  box-shadow: 0 6px 32px rgba(146, 237, 50, .4), 0 0 0 4px var(--green-soft);
}
.hud-menu-toggle__icon {
  width: 24px; height: 24px;
  display: flex; flex-direction: column; justify-content: center; gap: 5px;
}
.hud-menu-toggle__icon span {
  display: block;
  height: 2px;
  background: currentColor;
  width: 100%;
}
.hud-menu-toggle__icon span:nth-child(2) { width: 70%; }
.hud-menu-toggle__label {
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .15em;
}
.hud-menu-toggle[aria-expanded="true"] .hud-menu-toggle__icon span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.hud-menu-toggle[aria-expanded="true"] .hud-menu-toggle__icon span:nth-child(2) {
  opacity: 0;
}
.hud-menu-toggle[aria-expanded="true"] .hud-menu-toggle__icon span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}
.hud-menu-toggle__icon span { transition: transform .2s, opacity .2s; }

/* ── HUD TOC · panel lateral ───────────────────────────────── */
.hud-toc {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(420px, 90vw);
  background: var(--bg-2);
  border-left: 1px solid var(--green-line);
  z-index: 199;
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.22, 1, .36, 1);
  display: flex;
  flex-direction: column;
  padding-top: var(--hud-top-h);
  padding-bottom: var(--hud-bottom-h);
  overflow: hidden;
}
.hud-toc[aria-hidden="false"] { transform: translateX(0); }
.hud-toc__header {
  padding: 32px 28px 20px;
  border-bottom: 1px solid var(--green-dim);
  flex: 0 0 auto;
}
.hud-toc__title {
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 800;
  margin: 0;
  letter-spacing: -.01em;
}
.hud-toc__title em { font-style: normal; color: var(--green); }
.hud-toc__sub {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .15em;
  color: var(--fg-mute);
  text-transform: uppercase;
  margin-top: 8px;
}
.hud-toc__list {
  list-style: none;
  margin: 0;
  padding: 16px 0;
  flex: 1;
  overflow-y: auto;
}
.hud-toc__item a {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 14px;
  padding: 14px 28px;
  border-bottom: 1px solid var(--green-dim);
  transition: background .15s, padding .15s;
  align-items: start;
}
.hud-toc__item a:hover {
  background: var(--green-dim);
  padding-left: 36px;
}
.hud-toc__num {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  color: var(--green);
  letter-spacing: .08em;
  padding-top: 2px;
}
.hud-toc__name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--fg);
  display: block;
  line-height: 1.2;
  margin-bottom: 3px;
}
.hud-toc__desc {
  font-family: var(--font-text);
  font-size: .82rem;
  color: var(--fg-mute);
  line-height: 1.4;
  display: block;
}
.hud-toc__footer {
  padding: 16px 28px;
  border-top: 1px solid var(--green-dim);
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--fg-mute);
  letter-spacing: .12em;
  text-transform: uppercase;
  flex: 0 0 auto;
}
/* Overlay cuando TOC abierto */
.hud-toc-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(5,5,5,.6);
  backdrop-filter: blur(4px);
  z-index: 198;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}
.hud-toc-backdrop[aria-hidden="false"] {
  opacity: 1;
  pointer-events: auto;
}

/* ── BASE SECTIONS ─────────────────────────────────────────── */
main { width: 100%; }
.section {
  padding: clamp(64px, 10vw, 128px) var(--gutter);
  position: relative;
}
.section__inner {
  max-width: var(--max-w);
  margin: 0 auto;
  position: relative;
}
.section__sep {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--green-line), transparent);
  max-width: var(--max-w);
  margin: 0 auto;
}
.section__head {
  margin-bottom: clamp(36px, 5vw, 64px);
}
.section__head-tag {
  display: flex;
  align-items: baseline;
  gap: 16px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.section__head-tag .num {
  color: var(--green);
  font-weight: 700;
}
.section__head-tag .sep { color: var(--fg-mute); }
.section__head-tag .label { color: var(--fg-soft); font-weight: 400; letter-spacing: .12em; }
.section__head-tag .pill {
  padding: 4px 10px;
  background: var(--green);
  color: var(--bg);
  font-weight: 700;
  border-radius: 2px;
  letter-spacing: .08em;
}
.section__title {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 8vw, 6.5rem);
  font-weight: 800;
  line-height: .95;
  letter-spacing: -.025em;
  margin: 0;
  text-transform: none;
}
.section__title em {
  font-style: normal;
  color: var(--green);
  display: block;
}
.section__title em.rec { color: var(--rec); }
.section__lead {
  font-family: var(--font-text);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.65;
  color: var(--fg-soft);
  max-width: 720px;
  margin: 24px 0 0;
}
.section__lead strong { color: var(--green); font-weight: 600; }
.section__lead em { font-style: normal; color: var(--fg); }
.section__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--green-dim);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--fg-mute);
  text-transform: uppercase;
}
.section__meta strong { color: var(--green); font-weight: 700; }
.section__meta > span::before { content: '› '; color: var(--green); font-weight: 700; }

/* ── HOVER UTIL ────────────────────────────────────────────── */
.hover-up { transition: transform .2s, box-shadow .2s, border-color .2s; }
.hover-up:hover { transform: translateY(-3px); }

/* === MEDIA: prefers-reduced-motion === */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .hud-bg-wave { display: none; }
}

/* ──────────────────────────────────────────────────────────────
   COMPONENTES ESPECÍFICOS
   ────────────────────────────────────────────────────────────── */

/* === DROPS · último episodio + próximo + ritmo === */
.kp-drops {
  padding: clamp(40px, 6vw, 64px) var(--gutter) clamp(48px, 6vw, 72px);
  background:
    linear-gradient(180deg, transparent, rgba(255, 57, 57, .02) 50%, transparent),
    radial-gradient(circle at 20% 50%, rgba(146, 237, 50, .04), transparent 50%);
}
.kp-drops__inner {
  max-width: var(--max-w);
  margin: 0 auto;
}
.kp-drops__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 28px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.kp-drops__head-tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--rec);
  text-transform: uppercase;
  margin-bottom: 10px;
}
.kp-drops__head-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 900;
  letter-spacing: -.03em;
  line-height: .95;
  margin: 0;
  color: var(--fg);
}
.kp-drops__head-title em { font-style: normal; color: var(--rec); }

/* Pill RITMO · 2 episodios/mes */
.kp-drops__rhythm {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 20px;
  border: 1px solid var(--green-line);
  background: rgba(146, 237, 50, .04);
}
.kp-drops__rhythm-num {
  font-family: var(--font-display);
  font-size: 3rem;
  font-weight: 900;
  color: var(--green);
  line-height: 1;
  letter-spacing: -.04em;
}
.kp-drops__rhythm-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.kp-drops__rhythm-l1 {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--green);
  text-transform: uppercase;
  font-weight: 700;
}
.kp-drops__rhythm-l2 {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .12em;
  color: var(--fg-mute);
  text-transform: uppercase;
}

/* Grid 65/35 */
.kp-drops__grid {
  display: grid;
  grid-template-columns: 1.85fr 1fr;
  gap: 18px;
}

/* Drop card base */
.kp-drop {
  display: flex;
  flex-direction: column;
  background: var(--bg-2);
  border: 1px solid rgba(255,255,255,.06);
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: border-color .3s, background .3s, transform .3s;
  position: relative;
}
.kp-drop:hover {
  background: var(--bg-3);
  transform: translateY(-3px);
}

/* Thumb del último (16:9 que se ve COMPLETO con object-fit contain sobre fondo) */
.kp-drop__thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #000;
  overflow: hidden;
}
.kp-drop__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.kp-drop:hover .kp-drop__thumb img { transform: scale(1.03); }
.kp-drop__play {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 76px; height: 76px;
  background: var(--rec);
  border-radius: 50%;
  display: grid;
  place-items: center;
  box-shadow: 0 6px 32px rgba(255,57,57,.45);
  transition: transform .25s, box-shadow .25s;
}
.kp-drop:hover .kp-drop__play {
  transform: translate(-50%, -50%) scale(1.1);
  box-shadow: 0 8px 40px rgba(255,57,57,.6);
}
.kp-drop__play svg { width: 32px; height: 32px; color: #fff; margin-left: 4px; }

/* Esquinas militares (4 corners) */
.kp-drop__corners { position: absolute; inset: 0; pointer-events: none; }
.kp-drop__corners span {
  position: absolute;
  width: 22px;
  height: 22px;
  border-color: var(--rec);
  border-style: solid;
  border-width: 0;
}
.kp-drop__corners span:nth-child(1) { top: 0; left: 0; border-top-width: 2px; border-left-width: 2px; }
.kp-drop__corners span:nth-child(2) { top: 0; right: 0; border-top-width: 2px; border-right-width: 2px; }
.kp-drop__corners span:nth-child(3) { bottom: 0; left: 0; border-bottom-width: 2px; border-left-width: 2px; }
.kp-drop__corners span:nth-child(4) { bottom: 0; right: 0; border-bottom-width: 2px; border-right-width: 2px; }
.kp-drop--next .kp-drop__corners span { border-color: var(--amber); }

/* Drop body */
.kp-drop__body {
  padding: 24px 28px 26px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.kp-drop__tag {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--rec);
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
}
.kp-drop__tag--next { color: var(--amber); }
.kp-drop__dot {
  width: 7px; height: 7px;
  background: var(--rec);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--rec);
  animation: pulse 1.4s ease-in-out infinite;
}
.kp-drop__dot--amber {
  background: var(--amber);
  box-shadow: 0 0 8px var(--amber);
}
.kp-drop__name {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 900;
  letter-spacing: -.02em;
  margin: 0;
  line-height: 1;
}
.kp-drop__role {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--fg-mute);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0;
}
.kp-drop__title {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--fg);
  margin: 8px 0 0;
  line-height: 1.25;
  font-style: italic;
}
.kp-drop__title--next { font-style: normal; }
.kp-drop__desc {
  font-family: var(--font-text);
  font-size: .95rem;
  line-height: 1.5;
  color: var(--fg-soft);
  margin: 6px 0 0;
}
.kp-drop__desc strong { color: var(--fg); font-weight: 600; }
.kp-drop__desc em { color: var(--rec); font-style: normal; font-weight: 600; }

/* Métricas del último */
.kp-drop__metrics {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 10px;
  padding-top: 14px;
  border-top: 1px dashed rgba(146, 237, 50, .15);
}
.kp-drop__metric {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--fg-mute);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.kp-drop__metric strong {
  color: var(--green);
  font-size: 1.4em;
  margin-right: 4px;
  font-family: var(--font-display);
  font-weight: 800;
}

/* CTA del último */
.kp-drop__cta {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin-top: auto;
  padding-top: 14px;
  flex-wrap: wrap;
}
.kp-drop__cta-pri {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .18em;
  color: var(--rec);
  font-weight: 700;
  text-transform: uppercase;
  padding: 8px 14px;
  border: 1.5px solid var(--rec);
  transition: background .2s, color .2s;
}
.kp-drop:hover .kp-drop__cta-pri {
  background: var(--rec);
  color: #fff;
}
.kp-drop__cta-sec {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .12em;
  color: var(--fg-mute);
  text-transform: uppercase;
}

/* Thumb del próximo · placeholder HUD coherente */
.kp-drop__thumb--next {
  background:
    radial-gradient(circle at center, rgba(255, 193, 7, .12), transparent 65%),
    repeating-linear-gradient(0deg, rgba(255, 193, 7, .05) 0, rgba(255, 193, 7, .05) 1px, transparent 1px, transparent 28px),
    repeating-linear-gradient(90deg, rgba(255, 193, 7, .05) 0, rgba(255, 193, 7, .05) 1px, transparent 1px, transparent 28px),
    #0a0a0a;
}
.kp-drop__next-grid {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}
.kp-drop__next-num {
  font-family: var(--font-display);
  font-size: clamp(4rem, 9vw, 7rem);
  font-weight: 900;
  color: var(--amber);
  letter-spacing: -.05em;
  line-height: 1;
  text-shadow: 0 0 32px rgba(255, 193, 7, .25);
}
.kp-drop__next-label {
  position: absolute;
  bottom: 14px; left: 16px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .2em;
  color: rgba(255, 193, 7, .7);
  text-transform: uppercase;
}
.kp-drop__next-rec {
  position: absolute;
  top: 14px; right: 16px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .2em;
  color: var(--amber);
  text-transform: uppercase;
  font-weight: 700;
}

.kp-drop__cta-link {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--amber);
  text-transform: uppercase;
  font-weight: 700;
  padding: 10px 14px;
  border: 1px solid var(--amber);
  text-decoration: none;
  margin-top: auto;
  align-self: flex-start;
  transition: background .2s, color .2s;
}
.kp-drop__cta-link:hover {
  background: var(--amber);
  color: var(--bg);
}

/* Foot · mensaje "2 ep/mes" subrayado */
.kp-drops__foot {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--fg-soft);
  text-transform: uppercase;
  margin-top: 28px;
  padding: 16px 20px;
  border-left: 2px solid var(--green);
  background: rgba(146, 237, 50, .03);
}
.kp-drops__foot strong { color: var(--green); font-weight: 700; }
.kp-drops__foot-dot { color: var(--green); margin-right: 6px; }

/* Mobile */
@media (max-width: 880px) {
  .kp-drops__grid { grid-template-columns: 1fr; }
  .kp-drops__head { gap: 18px; }
  .kp-drop--main .kp-drop__name,
  .kp-drop--next .kp-drop__name { font-size: 1.4rem; }
  .kp-drops__rhythm { padding: 10px 16px; }
  .kp-drops__rhythm-num { font-size: 2.2rem; }
}
@media (max-width: 560px) {
  .kp-drop__body { padding: 18px 20px 22px; }
  .kp-drop__play { width: 60px; height: 60px; }
  .kp-drop__play svg { width: 24px; height: 24px; }
}

/* === HERO === */
.kp-hero {
  padding: clamp(40px, 8vw, 96px) var(--gutter) clamp(64px, 10vw, 128px);
  position: relative;
}
.kp-hero__inner {
  max-width: var(--max-w);
  margin: 0 auto;
}
.kp-hero__grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}
.kp-hero__left { min-width: 0; }
.kp-hero__right {
  position: relative;
  aspect-ratio: 1 / 1;
  max-width: 560px;
  margin-left: auto;
  width: 100%;
}
.kp-hero__photo {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #050505;
}
.kp-hero__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.kp-hero__photo-badge {
  position: absolute;
  top: 16px; left: 16px;
  padding: 6px 12px;
  background: rgba(0,0,0,.85);
  backdrop-filter: blur(6px);
  color: var(--rec);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.kp-hero__photo-badge::before {
  content: '';
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--rec);
  box-shadow: 0 0 8px var(--rec);
  animation: pulse 1.4s ease-in-out infinite;
}
.kp-hero__photo-id {
  position: absolute;
  bottom: 16px; right: 16px;
  padding: 6px 12px;
  background: rgba(0,0,0,.85);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--green);
}
@media (max-width: 960px) {
  .kp-hero__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .kp-hero__right {
    max-width: 100%;
    margin: 0 auto;
    order: -1; /* imagen arriba en mobile para impacto visual */
    max-height: 60vh;
  }
  .kp-hero__photo { aspect-ratio: 4 / 3; }
}
@media (max-width: 560px) {
  .kp-hero { padding-top: 20px; }
  .kp-hero__right { max-height: 50vh; }
  .kp-hero__photo { aspect-ratio: 1 / 1; }
  .kp-hero__kpis { grid-template-columns: 1fr 1fr; }
  .kp-hero__kpi:nth-child(3) { grid-column: 1 / -1; }
}
.kp-hero__tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px;
  border: 1px solid var(--green-line);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 32px;
  border-radius: 2px;
}
.kp-hero__tag::before {
  content: '';
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--rec);
  box-shadow: 0 0 8px var(--rec);
  animation: pulse 1.4s ease-in-out infinite;
}
.kp-hero__title {
  font-family: var(--font-display);
  font-size: clamp(3rem, 11vw, 9rem);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.035em;
  margin: 0;
  text-transform: none;
}
.kp-hero__title em {
  font-style: normal;
  color: var(--green);
  display: block;
}
.kp-hero__tagline {
  font-family: var(--font-text);
  font-size: clamp(1.1rem, 1.8vw, 1.4rem);
  color: var(--fg-soft);
  line-height: 1.55;
  margin: 32px 0 0;
  max-width: 640px;
}
.kp-hero__tagline em { font-style: normal; color: var(--green); font-weight: 500; }
.kp-hero__yt {
  margin-top: clamp(40px, 6vw, 64px);
  position: relative;
  aspect-ratio: 16 / 9;
  max-width: 1100px;
  background: #050505;
  cursor: pointer;
  overflow: hidden;
}
.kp-hero__yt img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s, opacity .4s;
}
.kp-hero__yt:hover img { transform: scale(1.02); opacity: .9; }
.kp-hero__yt-play {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 88px; height: 88px;
  border-radius: 50%;
  background: var(--green);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
  transition: transform .2s;
}
.kp-hero__yt:hover .kp-hero__yt-play { transform: translate(-50%, -50%) scale(1.08); }
.kp-hero__yt-play svg { width: 32px; height: 32px; color: var(--bg); margin-left: 4px; }
.kp-hero__yt-meta {
  position: absolute;
  bottom: 14px; left: 14px;
  display: flex; align-items: center; gap: 10px;
  background: rgba(0,0,0,.7);
  backdrop-filter: blur(6px);
  padding: 8px 14px;
  border-radius: 2px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--fg);
}
.kp-hero__yt-meta::before {
  content: '▶';
  color: var(--green);
}
.kp-hero__kpis {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: clamp(40px, 6vw, 64px);
  max-width: 720px;
}
.kp-hero__kpi {
  padding: 20px 18px;
  position: relative;
}
.kp-hero__kpi-num {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  font-weight: 800;
  color: var(--green);
  line-height: 1;
  letter-spacing: -.025em;
}
.kp-hero__kpi-label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--fg-mute);
  margin-top: 8px;
}
@media (max-width: 640px) {
  .kp-hero__kpi-label { font-size: 9px; }
}

/* === PUERTAS · navegación por perfil === */
.kp-doors {
  padding: clamp(48px, 7vw, 80px) var(--gutter);
  background: linear-gradient(180deg, transparent, rgba(146, 237, 50, .03));
}
.kp-doors__inner {
  max-width: var(--max-w);
  margin: 0 auto;
}
.kp-doors__head {
  margin-bottom: 36px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
.kp-doors__head-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--green);
  text-transform: uppercase;
}
.kp-doors__title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -.02em;
  margin: 0;
  line-height: 1.05;
}
.kp-doors__title em { font-style: normal; color: var(--green); }
.kp-doors__sub {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--fg-mute);
  letter-spacing: .1em;
}
.kp-doors__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.kp-door {
  display: block;
  padding: 28px 26px 26px;
  background: var(--bg-2);
  border: 1px solid rgba(255,255,255,.06);
  text-decoration: none;
  color: inherit;
  position: relative;
  transition: border-color .2s, background .2s, transform .2s;
  cursor: pointer;
}
.kp-door:hover {
  border-color: var(--door-color, var(--green));
  background: var(--bg-3);
  transform: translateY(-3px);
}
.kp-door--brands { --door-color: var(--green); }
.kp-door--fans { --door-color: var(--rec); }
.kp-door--followers { --door-color: var(--amber); }
.kp-door__press {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--door-color);
  text-transform: uppercase;
  margin-bottom: 14px;
}
.kp-door__press::before {
  content: '▸';
  font-size: 11px;
}
.kp-door__player {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .15em;
  color: var(--fg-mute);
  text-transform: uppercase;
  margin-bottom: 10px;
}
.kp-door__title {
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -.01em;
  margin: 0 0 8px;
  line-height: 1.15;
}
.kp-door__title em { font-style: normal; color: var(--door-color); }
.kp-door__desc {
  font-family: var(--font-text);
  font-size: .92rem;
  line-height: 1.55;
  color: var(--fg-soft);
  margin: 0 0 18px;
}
.kp-door__desc strong { color: var(--fg); font-weight: 600; }
.kp-door__arrow {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .15em;
  color: var(--door-color);
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.kp-door__arrow::after {
  content: '→';
  transition: transform .2s;
}
.kp-door:hover .kp-door__arrow::after { transform: translateX(4px); }
@media (max-width: 760px) { .kp-doors__grid { grid-template-columns: 1fr; } }
.kp-what {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 4vw, 56px);
  margin-top: 24px;
}
.kp-what p {
  font-family: var(--font-text);
  font-size: 1.02rem;
  line-height: 1.7;
  color: var(--fg-soft);
  margin: 0 0 18px;
}
.kp-what p strong { color: var(--green); font-weight: 600; }
.kp-what p em { font-style: normal; color: var(--fg); font-weight: 500; }
.kp-what a { color: var(--green); border-bottom: 1px solid var(--green-line); }
.kp-what a:hover { border-bottom-color: var(--green); }
@media (max-width: 760px) {
  .kp-what { grid-template-columns: 1fr; }
}

.kp-set-placeholder {
  margin-top: 40px;
  padding: 56px 24px;
  background: linear-gradient(135deg, var(--green-dim), transparent);
  border: 2px dashed var(--green-line);
  text-align: center;
  position: relative;
}
.kp-set-placeholder span {
  display: block;
  font-family: var(--font-mono);
  color: var(--green);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  opacity: .7;
}
.kp-set-placeholder strong {
  display: block;
  font-family: var(--font-display);
  color: var(--fg);
  font-size: 1.2rem;
  font-weight: 700;
  margin-top: 10px;
}
.kp-set-placeholder em {
  display: block;
  font-style: normal;
  color: var(--fg-mute);
  font-size: .88rem;
  margin-top: 6px;
}

/* === VALLIENTES (concepto + fotos) === */
.kp-vallientes {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
  margin-top: 24px;
}
.kp-vall-formula {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -.02em;
  margin: 0 0 8px;
}
.kp-vall-formula em { font-style: normal; color: var(--green); }
.kp-vall-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .15em;
  color: var(--fg-mute);
  text-transform: uppercase;
  margin-bottom: 20px;
}
.kp-vall-text p {
  font-family: var(--font-text);
  font-size: 1.02rem;
  line-height: 1.7;
  color: var(--fg-soft);
  margin: 0 0 14px;
}
.kp-vall-text strong { color: var(--green); font-weight: 600; }
.kp-vall-text em { font-style: italic; color: var(--fg); }
.kp-vall-photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.kp-vall-photo {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #111;
}
.kp-vall-photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s;
}
.kp-vall-photo:hover img { transform: scale(1.04); }
.kp-vall-photo figcaption {
  position: absolute;
  bottom: 8px; left: 8px;
  padding: 4px 10px;
  background: rgba(0,0,0,.85);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .12em;
  color: var(--green);
}
.kp-vall-steps {
  margin-top: 48px;
  border-top: 1px solid var(--green-dim);
  padding-top: 32px;
}
.kp-vall-steps-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--green);
  text-transform: uppercase;
  margin-bottom: 24px;
}
.kp-vall-steps-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
.kp-vall-step {
  padding: 20px 16px;
  background: var(--bg-2);
  border-top: 2px solid var(--green-line);
  position: relative;
}
.kp-vall-step__num {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  color: var(--green);
  letter-spacing: .1em;
  margin-bottom: 8px;
}
.kp-vall-step__name {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 8px;
  letter-spacing: -.01em;
}
.kp-vall-step__desc {
  font-family: var(--font-text);
  font-size: .82rem;
  line-height: 1.5;
  color: var(--fg-soft);
}
.kp-vall-step__desc em { color: var(--fg); font-style: italic; }
@media (max-width: 900px) {
  .kp-vallientes { grid-template-columns: 1fr; }
  .kp-vall-steps-grid { grid-template-columns: repeat(2, 1fr); }
}

/* === CASOS VIRALES (estilo donodelobo.es/#cases · cifras grandes) === */
.kp-cases {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 28px;
}
.kp-case {
  padding: 28px 28px 30px;
  background: var(--bg-2);
  border: 1px solid rgba(255,255,255,.06);
  position: relative;
  transition: transform .25s, border-color .25s, background .25s;
  overflow: hidden;
}
.kp-case::before {
  /* esquina militar verde superior izq · estilo donodelobo */
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 18px;
  height: 18px;
  border-top: 2px solid var(--rec);
  border-left: 2px solid var(--rec);
  pointer-events: none;
}
.kp-case::after {
  content: '';
  position: absolute;
  bottom: 0; right: 0;
  width: 18px;
  height: 18px;
  border-bottom: 2px solid var(--rec);
  border-right: 2px solid var(--rec);
  pointer-events: none;
}
.kp-case:hover {
  transform: translateY(-3px);
  background: var(--bg-3);
  border-color: rgba(255, 57, 57, .15);
}
.kp-case__tag {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--rec);
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 14px;
  display: block;
}
.kp-case__title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 900;
  letter-spacing: -.02em;
  margin: 0 0 4px;
  line-height: 1;
  color: var(--fg);
}
.kp-case__sub {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--fg-mute);
  text-transform: uppercase;
  margin: 0 0 22px;
}

/* CIFRAS GRANDES estilo donodelobo · más impactantes */
.kp-case__metrics {
  display: flex;
  gap: clamp(20px, 4vw, 40px);
  padding: 24px 0;
  border-top: 1px solid rgba(146, 237, 50, .15);
  border-bottom: 1px solid rgba(146, 237, 50, .15);
  margin-bottom: 22px;
  flex-wrap: wrap;
  align-items: baseline;
}
.kp-case__metric {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 70px;
}
.kp-case__num {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  color: var(--green);
  letter-spacing: -.04em;
  line-height: .95;
  text-shadow: 0 0 28px rgba(146,237,50,.15);
}
.kp-case__label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--fg-mute);
  text-transform: uppercase;
}
.kp-case__desc {
  font-family: var(--font-text);
  font-size: .92rem;
  line-height: 1.55;
  color: var(--fg-soft);
  margin: 0 0 18px;
}
.kp-case__desc strong { color: var(--fg); font-weight: 600; }
.kp-case__desc em { color: var(--rec); font-style: normal; font-weight: 600; }
.kp-case__media {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.kp-case__media a {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 6px 12px;
  background: rgba(255, 57, 57, .04);
  color: var(--rec);
  border: 1px solid rgba(255, 57, 57, .25);
  text-decoration: none;
  transition: background .15s, color .15s;
}
.kp-case__media a:hover { background: var(--rec); color: #fff; }
@media (max-width: 760px) {
  .kp-cases { grid-template-columns: 1fr; }
  .kp-case__metrics { gap: 16px; }
  .kp-case { padding: 22px 22px 24px; }
}

/* === MÉTRICAS (HUD dashboard) === */
.kp-stats {
  margin-top: 24px;
}
.kp-stats__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.kp-stat {
  padding: 28px 22px;
  background: var(--bg-2);
  position: relative;
}
.kp-stat__platform {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--fg-mute);
  margin-bottom: 10px;
}
.kp-stat__num {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 800;
  color: var(--green);
  line-height: 1;
  letter-spacing: -.02em;
}
.kp-stat__sub {
  font-family: var(--font-text);
  font-size: .82rem;
  color: var(--fg-mute);
  margin-top: 8px;
}
.kp-stats__total {
  margin-top: 16px;
  padding: 40px 32px;
  background: linear-gradient(135deg, var(--green-dim), transparent);
  text-align: center;
  position: relative;
}
.kp-stats__total-tag {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--green);
  text-transform: uppercase;
  margin-bottom: 16px;
}
.kp-stats__total-num {
  font-family: var(--font-display);
  font-size: clamp(3rem, 6vw, 4.5rem);
  font-weight: 800;
  color: var(--green);
  line-height: 1;
}
.kp-stats__total-sub {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .15em;
  color: var(--fg-soft);
  text-transform: uppercase;
  margin-top: 12px;
}
@media (max-width: 760px) { .kp-stats__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .kp-stats__grid { grid-template-columns: 1fr; } }

/* === INVITADOS (galería 5xN) === */
.kp-guests {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  margin-top: 24px;
}
.kp-guest {
  margin: 0;
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #050505;
  transition: transform .2s, box-shadow .2s;
}
.kp-guest:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px var(--green-dim);
}
.kp-guest img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s;
}
.kp-guest:hover img { transform: scale(1.05); }
.kp-guest figcaption {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 12px 12px 10px;
  background: linear-gradient(180deg, transparent 0, rgba(0,0,0,.92) 75%);
}
.kp-guest figcaption strong {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: .92rem;
  color: var(--fg);
  margin-bottom: 2px;
}
.kp-guest figcaption span {
  display: block;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--green);
}
.kp-guests-foot {
  margin-top: 24px;
  text-align: center;
  font-family: var(--font-text);
  color: var(--fg-soft);
  font-size: .95rem;
}
.kp-guests-foot a { color: var(--green); border-bottom: 1px solid var(--green-line); }
@media (max-width: 1100px) { .kp-guests { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 760px)  { .kp-guests { grid-template-columns: repeat(3, 1fr); gap: 10px; } }
@media (max-width: 480px)  { .kp-guests { grid-template-columns: repeat(2, 1fr); } }

/* === EPISODIOS (T1+T2+T3) === */

/* Banner próximo estreno */
.kp-coming {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 22px 28px;
  background: linear-gradient(135deg, rgba(255, 57, 57, .06), rgba(146, 237, 50, .03));
  margin-bottom: 36px;
  position: relative;
}
.kp-coming__left { min-width: 0; }
.kp-coming__tag {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--rec);
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.kp-coming__dot {
  width: 7px; height: 7px;
  background: var(--rec);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--rec);
  animation: pulse 1.4s ease-in-out infinite;
}
.kp-coming__title {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 3.5vw, 2.2rem);
  font-weight: 900;
  letter-spacing: -.02em;
  line-height: 1;
  margin: 0 0 6px;
}
.kp-coming__title em {
  font-style: normal;
  color: var(--green);
}
.kp-coming__sub {
  font-family: var(--font-text);
  font-size: .95rem;
  color: var(--fg-soft);
  margin: 0;
}
.kp-coming__right { flex-shrink: 0; }
.kp-coming__ep {
  font-family: var(--font-mono);
  font-size: clamp(1.2rem, 2.5vw, 1.8rem);
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--rec);
  padding: 10px 18px;
  border: 1px solid var(--rec);
  background: rgba(255, 57, 57, .05);
}
@media (max-width: 700px) {
  .kp-coming {
    grid-template-columns: 1fr;
    padding: 18px 20px;
    gap: 12px;
  }
  .kp-coming__right { display: none; }
}

.kp-season {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 48px 0 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--green-line);
  flex-wrap: wrap;
  gap: 8px 16px;
}
.kp-season__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 800;
  margin: 0;
}
.kp-season__title em {
  font-style: normal;
  color: var(--rec);
  font-size: .65em;
  letter-spacing: .15em;
  text-transform: uppercase;
  font-weight: 700;
  margin-left: 8px;
  vertical-align: middle;
}
.kp-season__tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .15em;
  color: var(--green);
  text-transform: uppercase;
}
.kp-season__range {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--fg-mute);
  letter-spacing: .1em;
}
.kp-eps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 1100px) {
  .kp-eps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .kp-eps { grid-template-columns: 1fr; gap: 14px; }
  .kp-season { font-size: .9em; }
  .kp-season__range { display: none; }
}
.kp-ep {
  display: flex;
  flex-direction: column;
  background: var(--bg-2);
  border: 1px solid rgba(255,255,255,.04);
  overflow: hidden;
  transition: background .25s, transform .25s, border-color .25s;
  text-decoration: none;
  color: inherit;
}
.kp-ep:hover {
  background: var(--bg-3);
  transform: translateY(-3px);
  border-color: rgba(146, 237, 50, .25);
}
.kp-ep__thumb {
  display: block;
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #000;
}
.kp-ep__thumb img {
  width: 100%; height: 100%;
  object-fit: cover; /* las miniaturas YT son 16:9 nativo, encajan perfecto */
  transition: transform .4s, opacity .25s;
}
.kp-ep__thumb:hover img { transform: scale(1.04); opacity: .92; }
.kp-ep__thumb::after {
  /* play overlay sutil */
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at center, transparent 30%, rgba(0,0,0,.15) 100%),
    linear-gradient(180deg, transparent 60%, rgba(0,0,0,.5));
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s;
}
.kp-ep:hover .kp-ep__thumb::after { opacity: 1; }
.kp-ep__play-icon {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%) scale(.85);
  width: 56px; height: 56px;
  background: var(--rec);
  border-radius: 50%;
  display: grid;
  place-items: center;
  opacity: 0;
  transition: transform .3s, opacity .25s;
  z-index: 2;
  box-shadow: 0 4px 22px rgba(255,57,57,.4);
}
.kp-ep__play-icon svg { width: 22px; height: 22px; color: #fff; margin-left: 3px; }
.kp-ep:hover .kp-ep__play-icon {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.kp-ep__body {
  padding: 18px 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

/* placeholder elegante para episodios sin miniatura real */
.kp-ep__thumb--placeholder {
  background:
    radial-gradient(ellipse 90% 60% at center, rgba(146,237,50,.10) 0%, transparent 70%),
    repeating-linear-gradient(0deg, rgba(146,237,50,.05) 0, rgba(146,237,50,.05) 1px, transparent 1px, transparent 28px),
    repeating-linear-gradient(90deg, rgba(146,237,50,.05) 0, rgba(146,237,50,.05) 1px, transparent 1px, transparent 28px),
    #060606;
}
.kp-ep__thumb--placeholder img { display: none; }
.kp-ep__thumb--placeholder::before {
  content: '// KONVERXO_PODCAST';
  position: absolute;
  top: 12px; left: 14px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .2em;
  color: rgba(146,237,50,.45);
}
.kp-ep__thumb--placeholder::after {
  content: '● ON_AIR';
  position: absolute;
  bottom: 12px; right: 14px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .2em;
  color: rgba(255,57,57,.55);
}
.kp-ep__thumb--placeholder-num {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: clamp(3.2rem, 9vw, 5rem);
  font-weight: 900;
  color: rgba(245,245,245,.95);
  letter-spacing: -.05em;
  line-height: .9;
  text-shadow:
    0 0 28px rgba(146,237,50,.12),
    0 0 60px rgba(255,57,57,.06);
  pointer-events: none;
}
.kp-ep__thumb--placeholder-sub {
  position: absolute;
  bottom: 42px; left: 14px; right: 14px;
  text-align: center;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .12em;
  color: rgba(245,245,245,.5);
  text-transform: uppercase;
  pointer-events: none;
}
.kp-ep__head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 4px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .08em;
  flex-wrap: wrap;
}
.kp-ep__num { color: var(--green); font-weight: 700; }
.kp-ep__guest { color: var(--fg-soft); }
.kp-ep__title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -.01em;
  margin: 0 0 8px;
  line-height: 1.25;
}
.kp-ep__desc {
  font-family: var(--font-text);
  font-size: .88rem;
  line-height: 1.55;
  color: var(--fg-soft);
  margin: 0;
}
.kp-ep__desc strong { color: var(--fg); font-weight: 600; }
.kp-ep__desc em { color: var(--green); font-style: italic; }
.kp-ep__desc a { color: var(--green); border-bottom: 1px solid var(--green-line); }
.kp-t3 {
  margin-top: 18px;
  padding: 32px 28px;
  background: var(--bg-2);
  border: 1px solid var(--green-line);
  text-align: center;
}
.kp-t3 p {
  font-family: var(--font-text);
  color: var(--fg-soft);
  margin: 0 0 20px;
  font-size: 1.02rem;
  line-height: 1.65;
}
.kp-t3 p strong { color: var(--green); font-weight: 600; }
.kp-t3 .cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 26px;
  background: var(--green);
  color: var(--bg);
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  border-radius: 2px;
  transition: transform .15s;
}
.kp-t3 .cta:hover { transform: translateY(-2px); }
@media (max-width: 760px) {
  .kp-eps { grid-template-columns: 1fr; }
  .kp-ep { grid-template-columns: 88px 1fr; gap: 12px; padding: 14px; }
}

/* === DISTRIBUCIÓN (Spotify + plataformas) === */
.kp-dist {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(24px, 4vw, 56px);
  align-items: start;
  margin-top: 24px;
}
.kp-dist__spotify {
  position: relative;
  background: var(--bg-2);
  padding: 6px;
}
.kp-dist__spotify iframe {
  width: 100%;
  height: 352px;
  border: 0;
  display: block;
}
.kp-dist__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.kp-dist__list > li { margin-bottom: 4px; font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; color: var(--fg); padding-left: 12px; border-left: 2px solid transparent; }
.kp-dist__platforms {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
}
.kp-dist__platform {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: var(--bg-2);
  border-left: 2px solid var(--green-line);
  transition: border-color .15s, background .15s, transform .15s;
}
.kp-dist__platform:hover {
  border-left-color: var(--green);
  background: var(--bg-3);
  transform: translateX(4px);
}
.kp-dist__platform-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
}
.kp-dist__platform-desc {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--fg-mute);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-top: 4px;
}
.kp-dist__platform-arrow {
  color: var(--green);
  font-family: var(--font-mono);
  font-size: 1.2rem;
}
@media (max-width: 900px) { .kp-dist { grid-template-columns: 1fr; } }

/* === PATROCINIO (JOYA del sprint 1) === */
/* Hero del bloque */
.kp-sp__hero {
  margin-top: 20px;
}
.kp-sp__pitch {
  margin-top: 40px;
  padding: clamp(40px, 6vw, 72px) clamp(28px, 5vw, 56px);
  background:
    radial-gradient(ellipse at top left, var(--green-dim), transparent 60%),
    radial-gradient(ellipse at bottom right, var(--rec-dim), transparent 60%),
    var(--bg-2);
  position: relative;
}
.kp-sp__pitch-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--rec);
  margin-bottom: 32px;
}
.kp-sp__pitch-tag::before {
  content: '';
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--rec);
  box-shadow: 0 0 8px var(--rec);
  animation: pulse 1.6s ease-in-out infinite;
}
.kp-sp__pitch-numbers {
  display: flex;
  align-items: center;
  gap: clamp(20px, 5vw, 80px);
  margin-bottom: 36px;
  flex-wrap: wrap;
}
.kp-sp__pitch-stat {
  flex: 1;
  min-width: 160px;
}
.kp-sp__pitch-val {
  font-family: var(--font-display);
  font-size: clamp(3rem, 9vw, 6rem);
  font-weight: 800;
  color: var(--green);
  line-height: .95;
  letter-spacing: -.025em;
}
.kp-sp__pitch-val .unit { font-size: .55em; color: var(--fg-soft); }
.kp-sp__pitch-label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .15em;
  color: var(--fg-soft);
  text-transform: uppercase;
  margin-top: 10px;
}
.kp-sp__pitch-sep {
  font-family: var(--font-mono);
  font-size: 2.4rem;
  color: var(--green);
  line-height: 1;
  align-self: center;
}
.kp-sp__pitch-quote {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.3rem, 2.4vw, 1.8rem);
  font-weight: 700;
  color: var(--fg);
  line-height: 1.3;
  margin: 0;
  padding-top: 28px;
  border-top: 1px solid var(--green-line);
}
.kp-sp__pitch-quote em { font-style: italic; color: var(--green); }

/* PERKS (4 beneficios) */
.kp-sp__perks-head {
  margin-top: clamp(48px, 8vw, 96px);
  margin-bottom: 28px;
}
.kp-sp__perks-head-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--green);
  text-transform: uppercase;
  margin-bottom: 14px;
}
.kp-sp__perks-head-title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 800;
  letter-spacing: -.02em;
  margin: 0;
  line-height: 1.05;
}
.kp-sp__perks-head-title em { font-style: normal; color: var(--green); }
.kp-sp__perks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.kp-perk {
  padding: 32px 28px;
  background: var(--bg-2);
  position: relative;
  transition: transform .2s, background .2s;
}
.kp-perk:hover { transform: translateY(-3px); background: var(--bg-3); }
.kp-perk__num {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--green);
  margin-bottom: 18px;
}
.kp-perk__icon {
  width: 44px; height: 44px;
  border: 1px solid var(--green-line);
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  color: var(--green);
}
.kp-perk__icon svg { width: 22px; height: 22px; }
.kp-perk__title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--fg);
  margin: 0 0 12px;
  letter-spacing: -.01em;
  line-height: 1.25;
}
.kp-perk__desc {
  font-family: var(--font-text);
  font-size: .95rem;
  line-height: 1.65;
  color: var(--fg-soft);
  margin: 0;
}
.kp-perk__desc strong { color: var(--green); font-weight: 600; }
.kp-perk__desc em { font-style: italic; color: var(--fg); }
@media (max-width: 760px) { .kp-sp__perks { grid-template-columns: 1fr; } }

/* SPONSORS oficiales (4 cards grandes tipo dossier) */
.kp-sp__brands-head {
  margin-top: clamp(56px, 10vw, 96px);
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--green-line);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 12px;
}
.kp-sp__brands-head-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--green);
  text-transform: uppercase;
}
.kp-sp__brands-head-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--fg-mute);
  letter-spacing: .1em;
}
.kp-sp__brands {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.kp-brand {
  display: grid;
  grid-template-columns: 320px 1fr;
  background: var(--bg-2);
  position: relative;
  overflow: hidden;
}
.kp-brand__logo {
  background: #ffffff;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  position: relative;
}
/* Esquinas militares amarillas estilo donodelobo.es/ventajas */
.kp-brand__logo::before,
.kp-brand__logo::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  border-color: var(--amber);
  border-style: solid;
  border-width: 0;
  pointer-events: none;
  z-index: 2;
}
.kp-brand__logo::before {
  top: 0; left: 0;
  border-top-width: 2px;
  border-left-width: 2px;
}
.kp-brand__logo::after {
  bottom: 0; right: 0;
  border-bottom-width: 2px;
  border-right-width: 2px;
}
/* Esquinas secundarias TR y BL */
.kp-brand__logo {
  background-image:
    linear-gradient(135deg, transparent calc(100% - 14px), var(--amber) calc(100% - 14px), var(--amber) calc(100% - 12px), transparent calc(100% - 12px)),
    linear-gradient(45deg, transparent calc(100% - 14px), var(--amber) calc(100% - 14px), var(--amber) calc(100% - 12px), transparent calc(100% - 12px));
  background-position: top right, bottom left;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-color: #ffffff;
}
.kp-brand__logo--dark {
  background-color: #050505;
}
.kp-brand__logo--dark::before,
.kp-brand__logo--dark::after {
  border-color: var(--green);
}
.kp-brand__logo img {
  max-width: 65%;
  max-height: 65%;
  object-fit: contain;
  transition: transform .4s cubic-bezier(.2,.7,.3,1);
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.06));
}
.kp-brand:hover .kp-brand__logo img { transform: scale(1.05); }
.kp-brand__info {
  padding: 32px 36px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.kp-brand__tier {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.kp-brand__tier-pill {
  display: inline-block;
  padding: 5px 12px;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  color: var(--bg);
  background: var(--green);
  border-radius: 2px;
}
.kp-brand__tier-pill--premium { background: var(--amber); }
.kp-brand__tier-pill--oficial {
  background: transparent;
  border: 1px solid var(--green);
  color: var(--green);
}
.kp-brand__tier-cat {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--fg-mute);
  text-transform: uppercase;
}
.kp-brand__role {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--green);
  margin: 0 0 14px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.kp-brand__desc {
  font-family: var(--font-text);
  font-size: .98rem;
  line-height: 1.65;
  color: var(--fg-soft);
  margin: 0 0 18px;
}
.kp-brand__desc strong { color: var(--fg); font-weight: 600; }
.kp-brand__perks {
  list-style: none;
  margin: 0;
  padding: 0;
}
.kp-brand__perks li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 4px 0;
  font-family: var(--font-text);
  font-size: .92rem;
  color: var(--fg-soft);
  line-height: 1.5;
}
.kp-brand__perks li::before {
  content: '›';
  color: var(--green);
  font-weight: 700;
  flex: 0 0 auto;
}
@media (max-width: 900px) {
  .kp-brand { grid-template-columns: 1fr; }
  .kp-brand__logo { aspect-ratio: 16/9; }
}

/* Colaboradores (no sponsors) */
.kp-sp__collab-head {
  margin-top: clamp(48px, 8vw, 80px);
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--green-dim);
}
.kp-sp__collab-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--amber);
  text-transform: uppercase;
}
.kp-sp__collab-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.kp-collab {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 16px;
  padding: 20px 22px;
  background: var(--bg-2);
  align-items: center;
}
.kp-collab__logo {
  background: #fff;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
}
.kp-collab__logo img { max-width: 80%; max-height: 80%; object-fit: contain; }
.kp-collab__name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.05rem;
  margin: 0 0 4px;
}
.kp-collab__tag {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .15em;
  color: var(--amber);
  text-transform: uppercase;
  margin-bottom: 6px;
}
.kp-collab__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--green);
  letter-spacing: .08em;
  margin-top: 4px;
}
.kp-collab__link:hover { text-decoration: underline; }
@media (max-width: 760px) {
  .kp-sp__collab-grid { grid-template-columns: 1fr; }
}

/* CTA del bloque patrocinio */
.kp-sp__cta {
  margin-top: clamp(56px, 9vw, 96px);
  padding: clamp(40px, 6vw, 72px) clamp(28px, 5vw, 56px);
  background:
    radial-gradient(ellipse at center, var(--green-dim), transparent 70%),
    var(--bg-2);
  position: relative;
  text-align: center;
}
.kp-sp__cta-title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3.5vw, 2.6rem);
  font-weight: 800;
  letter-spacing: -.02em;
  margin: 0 0 14px;
}
.kp-sp__cta-title em { font-style: normal; color: var(--green); }
.kp-sp__cta-sub {
  font-family: var(--font-text);
  color: var(--fg-soft);
  font-size: 1.02rem;
  margin: 0 0 28px;
}
.kp-sp__cta-buttons {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}
.kp-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 28px;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  border-radius: 2px;
  transition: transform .15s, box-shadow .15s;
  border: none;
  cursor: pointer;
}
.kp-btn--primary {
  background: var(--green);
  color: var(--bg);
}
.kp-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px var(--green-dim);
}
.kp-btn--ghost {
  background: transparent;
  color: var(--green);
  border: 1px solid var(--green);
}
.kp-btn--ghost:hover { background: var(--green-dim); }
.kp-btn--mediakit {
  background: transparent;
  color: var(--amber);
  border: 1px solid var(--amber);
  position: relative;
}
.kp-btn--mediakit::before {
  content: '';
  position: absolute;
  top: -1px; left: -1px;
  width: 12px; height: 12px;
  border-top: 2px solid var(--amber);
  border-left: 2px solid var(--amber);
  pointer-events: none;
}
.kp-btn--mediakit::after {
  content: '';
  position: absolute;
  bottom: -1px; right: -1px;
  width: 12px; height: 12px;
  border-bottom: 2px solid var(--amber);
  border-right: 2px solid var(--amber);
  pointer-events: none;
}
.kp-btn--mediakit:hover {
  background: var(--amber);
  color: #1a1a1a;
  transform: translateY(-2px);
}
.kp-sp__cta-foot {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--fg-mute);
  text-transform: uppercase;
  margin-top: 20px;
}
.kp-sp__cta-foot::before { content: '● '; color: var(--green); }

/* === VENTAJAS COMUNIDAD · estilo donodelobo.es/ventajas === */
.kp-perks-section { position: relative; }
.kp-perks-tag-num { color: var(--amber) !important; }
.kp-perks-pill {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 10px;
  background: var(--amber);
  color: #1a1a1a;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .15em;
  font-weight: 700;
}
.kp-perks-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
  margin-top: 18px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--fg-mute);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.kp-perks-meta strong { color: var(--amber); margin-right: 6px; }

.kp-perks-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 32px;
}
@media (max-width: 1024px) { .kp-perks-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .kp-perks-grid { grid-template-columns: 1fr; } }

.kp-perk-card {
  display: flex;
  flex-direction: column;
  background: var(--bg-2);
  border: 1px solid rgba(255,255,255,.04);
  overflow: hidden;
  transition: border-color .25s, transform .25s, background .25s;
  position: relative;
}
.kp-perk-card:hover {
  border-color: rgba(245, 255, 0, .25);
  transform: translateY(-3px);
  background: var(--bg-3);
}

/* Logo frame · fondo blanco + esquinas amarillas military · clavado donodelobo */
.kp-perk-card__logo-frame {
  position: relative;
  background: #ffffff;
  aspect-ratio: 16 / 9;
  display: grid;
  place-items: center;
  padding: 32px;
  overflow: hidden;
}
.kp-perk-card__logo-frame::before,
.kp-perk-card__logo-frame::after {
  content: '';
  position: absolute;
  width: 22px; height: 22px;
  border-color: var(--amber);
  border-style: solid;
  border-width: 0;
  z-index: 2;
  pointer-events: none;
}
.kp-perk-card__logo-frame::before {
  top: 0; left: 0;
  border-top-width: 3px;
  border-left-width: 3px;
}
.kp-perk-card__logo-frame::after {
  bottom: 0; right: 0;
  border-bottom-width: 3px;
  border-right-width: 3px;
}
/* esquinas adicionales TR + BL via children spans */
.kp-perk-card__logo-frame > .kp-perk-card__corner-tr,
.kp-perk-card__logo-frame > .kp-perk-card__corner-bl {
  position: absolute;
  width: 22px; height: 22px;
  border-color: var(--amber);
  border-style: solid;
  border-width: 0;
  z-index: 2;
  pointer-events: none;
}
.kp-perk-card__logo-img {
  max-width: 75%;
  max-height: 75%;
  object-fit: contain;
  transition: transform .35s cubic-bezier(.2,.7,.3,1);
}
.kp-perk-card:hover .kp-perk-card__logo-img { transform: scale(1.05); }

.kp-perk-card__logo-frame--empty {
  background: var(--bg-3);
  border-bottom: 1px solid var(--green-line);
}
.kp-perk-card__logo-frame--empty::before,
.kp-perk-card__logo-frame--empty::after {
  border-color: var(--green);
}
.kp-perk-card__plus {
  font-family: var(--font-display);
  font-size: 4.5rem;
  font-weight: 100;
  color: var(--green);
  line-height: 1;
}

.kp-perk-card__content {
  padding: 24px 24px 26px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 1;
}
.kp-perk-card__name {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: -.01em;
  color: var(--fg);
  margin: 0;
}
.kp-perk-card__story {
  font-family: var(--font-text);
  font-size: .88rem;
  line-height: 1.55;
  color: var(--fg-soft);
  margin: 0;
}
.kp-perk-card__story strong { color: var(--amber); font-weight: 600; }

/* Pill DESCUENTO amarillo · estrella */
.kp-perk-card__deal-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 18px;
  background: var(--amber);
  color: #1a1a1a;
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: -.01em;
  margin-top: 2px;
}
.kp-perk-card__deal-pill--soon {
  background: rgba(146, 237, 50, .12);
  color: var(--fg-soft);
  font-weight: 700;
  letter-spacing: .1em;
  font-size: .95rem;
  border: 1px dashed var(--green-line);
}
.kp-perk-card__star {
  color: #1a1a1a;
  font-size: 1.05em;
}

/* Caja CÓDIGO + COPIAR */
.kp-perk-card__code {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--green-line);
  background: rgba(146, 237, 50, .04);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .12em;
}
.kp-perk-card__code--soon {
  justify-content: center;
  color: var(--fg-mute);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.kp-perk-card__code-label {
  color: var(--fg-mute);
  text-transform: uppercase;
}
.kp-perk-card__code-value {
  color: var(--green);
  font-weight: 700;
  flex: 1;
  text-align: center;
  letter-spacing: .14em;
}
.kp-perk-card__copy {
  background: transparent;
  border: 1px solid var(--green);
  color: var(--green);
  padding: 5px 10px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .15em;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.kp-perk-card__copy:hover {
  background: var(--green);
  color: var(--bg);
}
.kp-perk-card__copy.is-copied {
  background: var(--green);
  color: var(--bg);
}

.kp-perk-card__hint {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .15em;
  color: var(--fg-mute);
  text-transform: uppercase;
  text-align: center;
  margin: -2px 0 4px;
}

.kp-perk-card__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border: 1px solid var(--amber);
  color: var(--amber);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 700;
  transition: background .2s, color .2s;
  margin-top: auto;
}
.kp-perk-card__btn:hover {
  background: var(--amber);
  color: #1a1a1a;
}
.kp-perk-card__btn--alt {
  border-color: var(--green);
  color: var(--green);
}
.kp-perk-card__btn--alt:hover {
  background: var(--green);
  color: var(--bg);
}

/* Banner ¿CÓMO LAS USO? */
.kp-perks-howto {
  margin-top: 48px;
  padding: 36px;
  background: var(--bg-2);
  border-left: 3px solid var(--amber);
  position: relative;
}
.kp-perks-howto-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--amber);
  text-transform: uppercase;
  margin-bottom: 14px;
  display: inline-block;
}
.kp-perks-howto-title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 900;
  letter-spacing: -.02em;
  margin: 0 0 14px;
  line-height: 1;
}
.kp-perks-howto-title em {
  font-style: normal;
  color: var(--amber);
}
.kp-perks-howto-desc {
  font-family: var(--font-text);
  font-size: 1rem;
  color: var(--fg-soft);
  margin: 0 0 22px;
  max-width: 720px;
  line-height: 1.55;
}
.kp-perks-howto-desc strong { color: var(--fg); font-weight: 600; }
.kp-perks-howto-desc em { color: var(--amber); font-style: normal; font-weight: 600; }
.kp-perks-howto-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  border: 1px solid var(--amber);
  color: var(--amber);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 700;
  transition: background .2s, color .2s;
}
.kp-perks-howto-cta:hover {
  background: var(--amber);
  color: #1a1a1a;
}

/* === PRENSA === */
.kp-press {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 24px;
}
.kp-press__item {
  padding: 20px 22px;
  background: var(--bg-2);
  transition: background .15s, transform .15s, border-left-color .15s;
  border-left: 2px solid var(--green-line);
  display: block;
}
.kp-press__item:hover {
  background: var(--bg-3);
  border-left-color: var(--green);
  transform: translateX(4px);
}
.kp-press__name {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--green);
  margin: 0 0 6px;
}
.kp-press__desc {
  font-family: var(--font-text);
  font-size: .9rem;
  color: var(--fg-soft);
  line-height: 1.5;
  margin: 0;
}
@media (max-width: 760px) { .kp-press { grid-template-columns: 1fr; } }

/* === FAQ === */
.kp-faq { margin-top: 24px; }
.kp-faq__item {
  border-bottom: 1px solid var(--green-dim);
}
.kp-faq__item > summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--fg);
  transition: color .15s;
}
.kp-faq__item > summary::-webkit-details-marker { display: none; }
.kp-faq__item > summary::after {
  content: '+';
  color: var(--green);
  font-size: 1.6rem;
  font-weight: 400;
  transition: transform .2s;
}
.kp-faq__item[open] > summary { color: var(--green); }
.kp-faq__item[open] > summary::after { content: '×'; }
.kp-faq__answer {
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--fg-soft);
  margin: 0 0 24px;
  max-width: 880px;
}
.kp-faq__answer strong { color: var(--fg); font-weight: 600; }

/* === HOST === */
.kp-host {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: clamp(28px, 5vw, 64px);
  margin-top: 24px;
  align-items: start;
}
.kp-host__photo {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #111;
  margin: 0;
}
.kp-host__photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.kp-host__photo:hover img { transform: scale(1.03); }
.kp-host__photo figcaption {
  position: absolute;
  bottom: 14px; left: 14px;
  padding: 6px 12px;
  background: rgba(0,0,0,.85);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .15em;
  color: var(--green);
  text-transform: uppercase;
}
.kp-host__photo-live {
  position: absolute;
  top: 14px; right: 14px;
  padding: 6px 12px;
  background: var(--rec);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .15em;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
}
.kp-host__photo-live::before {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  background: #fff;
  border-radius: 50%;
  margin-right: 6px;
  animation: pulse 1.4s ease-in-out infinite;
  vertical-align: middle;
}
.kp-host__name {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -.025em;
  margin: 0 0 8px;
  line-height: 1;
}
.kp-host__role {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--green);
  text-transform: uppercase;
  margin-bottom: 24px;
}
.kp-host__bio p {
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--fg-soft);
  margin: 0 0 16px;
}
.kp-host__bio strong { color: var(--green); font-weight: 600; }
.kp-host__bio em { color: var(--fg); font-style: italic; }
.kp-host__main {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 14px 26px;
  background: var(--green);
  color: var(--bg);
  font-family: var(--font-display);
  font-weight: 700;
  border-radius: 2px;
  transition: transform .15s, box-shadow .15s;
}
.kp-host__main:hover { transform: translateY(-2px); box-shadow: 0 8px 24px var(--green-dim); }
.kp-host__projects {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 28px;
}
.kp-host__project {
  padding: 18px 16px;
  background: var(--bg-2);
  border-left: 2px solid var(--green-line);
  transition: border-left-color .15s, transform .15s;
}
.kp-host__project:hover {
  border-left-color: var(--green);
  transform: translateX(4px);
}
.kp-host__project-tag {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .15em;
  color: var(--green);
  text-transform: uppercase;
  margin-bottom: 6px;
  display: block;
}
.kp-host__project-name {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--fg);
  font-size: .98rem;
}
@media (max-width: 760px) {
  .kp-host { grid-template-columns: 1fr; }
  .kp-host__photo { max-width: 320px; margin: 0 auto; }
  .kp-host__projects { grid-template-columns: 1fr; }
}

/* === APLICAR · ¿Quieres salir en Konverxo Podcast? === */
.kp-apply {
  padding: clamp(56px, 9vw, 110px) var(--gutter);
  background:
    radial-gradient(ellipse 80% 60% at 20% 0%, rgba(146,237,50,.06), transparent 60%),
    radial-gradient(ellipse 60% 50% at 100% 100%, rgba(255,57,57,.05), transparent 60%),
    var(--bg);
  position: relative;
  border-top: 1px solid rgba(146,237,50,.08);
}
.kp-apply::before {
  /* scanline horizontal sutil */
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--green) 50%, transparent);
  opacity: .25;
}
.kp-apply__inner {
  max-width: var(--max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: start;
}

/* LADO IZQUIERDO · PITCH */
.kp-apply__pitch {
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-width: 0;
}
.kp-apply__tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--rec);
  text-transform: uppercase;
  font-weight: 700;
}
.kp-apply__dot {
  width: 7px; height: 7px;
  background: var(--rec);
  border-radius: 50%;
  box-shadow: 0 0 10px var(--rec);
  animation: pulse 1.4s ease-in-out infinite;
}
.kp-apply__title {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  font-weight: 900;
  letter-spacing: -.03em;
  line-height: .95;
  margin: 0;
  color: var(--fg);
}
.kp-apply__title em {
  font-style: normal;
  color: var(--green);
  display: inline-block;
}
.kp-apply__lead {
  font-family: var(--font-text);
  font-size: 1rem;
  line-height: 1.55;
  color: var(--fg-soft);
  margin: 0;
  max-width: 520px;
}
.kp-apply__lead strong { color: var(--green); font-weight: 600; }
.kp-apply__lead em { color: var(--rec); font-style: normal; font-weight: 600; }
.kp-apply__bullets {
  list-style: none;
  padding: 0;
  margin: 6px 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.kp-apply__bullets li {
  font-family: var(--font-text);
  font-size: .92rem;
  line-height: 1.5;
  color: var(--fg-soft);
  display: flex;
  gap: 10px;
  align-items: baseline;
}
.kp-apply__bullets strong { color: var(--fg); font-weight: 600; }
.kp-apply__check {
  color: var(--green);
  font-weight: 700;
  flex-shrink: 0;
}

/* Visual micro + wave */
.kp-apply__visual {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 12px;
  padding: 18px 22px;
  background: var(--bg-2);
  border: 1px solid rgba(146, 237, 50, .12);
  position: relative;
}
.kp-apply__visual::before {
  content: '';
  position: absolute;
  top: -1px; left: -1px;
  width: 14px; height: 14px;
  border-top: 2px solid var(--green);
  border-left: 2px solid var(--green);
}
.kp-apply__visual::after {
  content: '';
  position: absolute;
  bottom: -1px; right: -1px;
  width: 14px; height: 14px;
  border-bottom: 2px solid var(--green);
  border-right: 2px solid var(--green);
}
.kp-apply__mic {
  flex-shrink: 0;
  width: 56px;
  height: 76px;
}
.kp-apply__mic svg {
  width: 100%;
  height: 100%;
}
.kp-apply__wave {
  flex: 1;
  display: flex;
  gap: 4px;
  align-items: center;
  height: 40px;
}
.kp-apply__wave span {
  flex: 1;
  background: var(--green);
  border-radius: 2px;
  animation: kpApplyWave 1.2s ease-in-out infinite;
  min-height: 4px;
}
.kp-apply__wave span:nth-child(1) { animation-delay: 0s; height: 28%; }
.kp-apply__wave span:nth-child(2) { animation-delay: .1s; height: 60%; }
.kp-apply__wave span:nth-child(3) { animation-delay: .2s; height: 90%; }
.kp-apply__wave span:nth-child(4) { animation-delay: .3s; height: 45%; }
.kp-apply__wave span:nth-child(5) { animation-delay: .4s; height: 75%; }
.kp-apply__wave span:nth-child(6) { animation-delay: .5s; height: 30%; }
.kp-apply__wave span:nth-child(7) { animation-delay: .6s; height: 55%; }
.kp-apply__wave span:nth-child(8) { animation-delay: .7s; height: 22%; }
@keyframes kpApplyWave {
  0%, 100% { transform: scaleY(.6); opacity: .55; }
  50%      { transform: scaleY(1.4); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .kp-apply__wave span { animation: none; }
  .kp-apply__dot { animation: none; }
}

/* LADO DERECHO · FORM */
.kp-apply__form {
  background: var(--bg-2);
  border: 1px solid rgba(255, 255, 255, .06);
  padding: clamp(24px, 3vw, 36px);
  position: relative;
}
.kp-apply__form::before,
.kp-apply__form::after {
  content: '';
  position: absolute;
  width: 22px; height: 22px;
  border-color: var(--green);
  border-style: solid;
  border-width: 0;
  pointer-events: none;
}
.kp-apply__form::before {
  top: -1px; left: -1px;
  border-top-width: 3px;
  border-left-width: 3px;
}
.kp-apply__form::after {
  bottom: -1px; right: -1px;
  border-bottom-width: 3px;
  border-right-width: 3px;
}
.kp-apply__form-head {
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(146,237,50,.12);
}
.kp-apply__form-tag {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .15em;
  color: var(--fg-mute);
  text-transform: uppercase;
  display: block;
  margin-bottom: 8px;
}
.kp-apply__form-title {
  font-family: var(--font-display);
  font-size: clamp(1.3rem, 2.5vw, 1.7rem);
  font-weight: 800;
  letter-spacing: -.02em;
  margin: 0;
  color: var(--fg);
}
.kp-apply__honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.kp-apply__field {
  margin-bottom: 16px;
  position: relative;
}
.kp-apply__label {
  display: block;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .12em;
  color: var(--fg-mute);
  text-transform: uppercase;
  margin-bottom: 6px;
}
.kp-apply__req {
  color: var(--rec);
  margin-left: 2px;
}
.kp-apply__input,
.kp-apply__textarea {
  width: 100%;
  padding: 12px 14px;
  background: var(--bg);
  border: 1px solid rgba(245, 245, 245, .12);
  color: var(--fg);
  font-family: var(--font-text);
  font-size: .95rem;
  line-height: 1.4;
  transition: border-color .2s, background .2s;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
}
.kp-apply__input:focus,
.kp-apply__textarea:focus {
  outline: none;
  border-color: var(--green);
  background: var(--bg-3);
  box-shadow: 0 0 0 1px var(--green);
}
.kp-apply__input::placeholder,
.kp-apply__textarea::placeholder {
  color: var(--fg-mute);
  font-style: italic;
}
.kp-apply__textarea {
  resize: vertical;
  min-height: 100px;
  font-family: var(--font-text);
}
.kp-apply__counter {
  display: block;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .12em;
  color: var(--fg-mute);
  text-align: right;
  margin-top: 4px;
  text-transform: uppercase;
}
.kp-apply__counter.is-near-limit { color: var(--amber); }
.kp-apply__counter.is-over-limit { color: var(--rec); }
.kp-apply__hint {
  display: block;
  font-family: var(--font-mono);
  font-size: 10px;
  line-height: 1.45;
  letter-spacing: .03em;
  color: var(--fg-mute);
  margin-top: 6px;
}
.kp-apply__hint strong {
  color: var(--green);
  font-weight: 700;
}
.kp-apply__textarea {
  white-space: pre-wrap;
}
.kp-apply__field--error .kp-apply__input,
.kp-apply__field--error .kp-apply__textarea {
  border-color: var(--rec);
  box-shadow: 0 0 0 1px var(--rec);
}
.kp-apply__error {
  display: none;
  padding: 10px 12px;
  background: rgba(255, 57, 57, .08);
  border-left: 3px solid var(--rec);
  color: var(--rec);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .05em;
  margin: 12px 0;
}
.kp-apply__error.is-visible { display: block; }

.kp-apply__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 18px;
}
.kp-apply__btn {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: transparent;
  border: 1px solid;
  font-family: var(--font-text);
  text-align: left;
  cursor: pointer;
  transition: transform .2s, background .2s, box-shadow .2s;
  width: 100%;
  font-size: .95rem;
}
.kp-apply__btn-icon {
  font-size: 1.4rem;
  flex-shrink: 0;
}
.kp-apply__btn-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.kp-apply__btn-label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: .95rem;
  letter-spacing: -.01em;
}
.kp-apply__btn-sub {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .1em;
  opacity: .65;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kp-apply__btn--wa {
  background: var(--green);
  border-color: var(--green);
  color: #0a0a0a;
}
.kp-apply__btn--wa:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 22px rgba(146, 237, 50, .35);
}
.kp-apply__btn--mail {
  border-color: var(--amber);
  color: var(--amber);
}
.kp-apply__btn--mail:hover {
  background: var(--amber);
  color: #1a1a1a;
  transform: translateY(-2px);
}

.kp-apply__legal {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: .08em;
  color: var(--fg-mute);
  line-height: 1.6;
  margin: 18px 0 0;
  text-transform: uppercase;
}
.kp-apply__legal-dot {
  color: var(--green);
  margin-right: 4px;
}
.kp-apply__legal strong {
  color: var(--fg-soft);
  font-weight: 700;
}

/* Responsive */
@media (max-width: 900px) {
  .kp-apply__inner { grid-template-columns: 1fr; gap: 36px; }
  .kp-apply__buttons { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .kp-apply__title { font-size: 2rem; }
  .kp-apply__btn-sub { font-size: 8px; }
}





/* ── LOADING SCREEN ────────────────────────────────────────── */
#kpBoot {
  position: fixed;
  inset: 0;
  background: var(--bg);
  z-index: 9999;
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  transition: opacity .4s ease;
}
#kpBoot.is-done { opacity: 0; pointer-events: none; }
.kpBoot__inner {
  width: min(560px, 86vw);
  padding: 0 var(--gutter);
}
.kpBoot__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--green);
  text-transform: uppercase;
}
.kpBoot__head::before {
  content: '';
  width: 8px; height: 8px;
  background: var(--rec);
  border-radius: 50%;
  box-shadow: 0 0 12px var(--rec);
  animation: pulse 1.4s ease-in-out infinite;
}
.kpBoot__title {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 6vw, 4rem);
  font-weight: 900;
  letter-spacing: -.03em;
  line-height: .95;
  margin: 0 0 24px;
  color: var(--fg);
}
.kpBoot__title em {
  font-style: normal;
  color: var(--green);
}
.kpBoot__sub {
  font-size: 11px;
  letter-spacing: .15em;
  color: var(--fg-mute);
  text-transform: uppercase;
  margin-bottom: 22px;
}
.kpBoot__bar {
  height: 2px;
  background: rgba(146, 237, 50, .15);
  overflow: hidden;
  position: relative;
  margin-bottom: 14px;
}
.kpBoot__bar-fill {
  position: absolute;
  inset: 0 100% 0 0;
  background: var(--green);
  animation: kpBootFill 1.1s ease-out forwards;
}
@keyframes kpBootFill {
  0%   { right: 100%; }
  100% { right: 0; }
}
.kpBoot__lines {
  font-size: 10px;
  letter-spacing: .12em;
  color: var(--green);
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.kpBoot__line { opacity: 0; animation: kpBootLine .25s ease forwards; }
.kpBoot__line:nth-child(1) { animation-delay: .1s; }
.kpBoot__line:nth-child(2) { animation-delay: .35s; }
.kpBoot__line:nth-child(3) { animation-delay: .6s; }
.kpBoot__line:nth-child(4) { animation-delay: .85s; color: var(--fg); }
@keyframes kpBootLine { to { opacity: 1; } }

/* ── GLITCH HERO ───────────────────────────────────────────── */
.kp-hero__title { position: relative; }
.kp-hero__title.is-glitching::before,
.kp-hero__title.is-glitching::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  font: inherit;
  letter-spacing: inherit;
  pointer-events: none;
  mix-blend-mode: screen;
}
.kp-hero__title.is-glitching::before {
  color: var(--rec);
  transform: translate(-2px, 0);
  clip-path: polygon(0 0, 100% 0, 100% 35%, 0 35%);
  animation: kpGlitch1 .25s steps(2) 1;
}
.kp-hero__title.is-glitching::after {
  color: var(--green);
  transform: translate(2px, 0);
  clip-path: polygon(0 60%, 100% 60%, 100% 100%, 0 100%);
  animation: kpGlitch2 .25s steps(2) 1;
}
@keyframes kpGlitch1 {
  0%   { transform: translate(-2px, 0); }
  33%  { transform: translate(2px, -1px); }
  66%  { transform: translate(-1px, 1px); }
  100% { transform: translate(0, 0); }
}
@keyframes kpGlitch2 {
  0%   { transform: translate(2px, 0); }
  33%  { transform: translate(-2px, 1px); }
  66%  { transform: translate(1px, -1px); }
  100% { transform: translate(0, 0); }
}

/* ── SCROLL REVEAL ─────────────────────────────────────────── */
[data-reveal] > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .6s cubic-bezier(.2,.7,.3,1),
              transform .6s cubic-bezier(.2,.7,.3,1);
}
[data-reveal].is-revealed > * {
  opacity: 1;
  transform: translateY(0);
}
[data-reveal].is-revealed > *:nth-child(2) { transition-delay: .08s; }
[data-reveal].is-revealed > *:nth-child(3) { transition-delay: .16s; }
[data-reveal].is-revealed > *:nth-child(4) { transition-delay: .24s; }
[data-reveal].is-revealed > *:nth-child(5) { transition-delay: .32s; }
[data-reveal].is-revealed > *:nth-child(6) { transition-delay: .40s; }

/* respeta usuarios sensibles a movimiento */
@media (prefers-reduced-motion: reduce) {
  [data-reveal] > * { opacity: 1; transform: none; transition: none; }
  .kp-hero__title.is-glitching::before,
  .kp-hero__title.is-glitching::after { display: none; }
  #kpBoot { display: none; }
}

/* ── CURSOR PARALLAX HERO ──────────────────────────────────── */
.kp-hero__photo {
  transition: transform .4s cubic-bezier(.2,.7,.3,1);
  will-change: transform;
}
.kp-hero__photo img {
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}

/* ── KONAMI FANFARRIA ──────────────────────────────────────── */
.kp-konami {
  position: fixed;
  bottom: 70px; left: 50%;
  transform: translateX(-50%) translateY(40px);
  z-index: 9998;
  padding: 18px 26px;
  background: var(--bg-2);
  border: 1px solid var(--green);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .15em;
  color: var(--green);
  text-transform: uppercase;
  opacity: 0;
  transition: opacity .3s, transform .4s cubic-bezier(.2,.7,.3,1);
  pointer-events: none;
}
.kp-konami.is-on {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.kp-konami strong { color: var(--rec); }

/* ── SCANLINES sutiles overlay (modo cyberpunk) ───────────── */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(
    180deg,
    transparent 0,
    transparent 2px,
    rgba(255,255,255,.012) 2px,
    rgba(255,255,255,.012) 3px
  );
  pointer-events: none;
  z-index: 100;
  mix-blend-mode: overlay;
}

/* ══════════════════════════════════════════════════════════════
   SPRINT 7 · BOTTOM-NAV ICONOGRÁFICA MOBILE
   5 iconos fijos abajo en ≤768px · Aplicar destacado como FAB
   ══════════════════════════════════════════════════════════════ */

.kp-bnav { display: none; }

@media (max-width: 768px) {
  body { padding-bottom: 78px; }
  
  /* Ocultar botón ÍNDICE flotante en mobile (lo sustituye el bottom-nav) */
  #menuToggle, .hud-menu-toggle { display: none !important; }
  
  .kp-bnav {
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 200;
    background: rgba(5,5,5,.92);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border-top: 1px solid rgba(146,237,50,.18);
    padding: 8px 6px calc(8px + env(safe-area-inset-bottom, 0px)) 6px;
    box-shadow: 0 -6px 20px rgba(0,0,0,.5);
  }
  .kp-bnav__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 6px 2px;
    color: rgba(255,255,255,.72);
    text-decoration: none;
    font-family: var(--font-mono, 'JetBrains Mono', monospace);
    font-size: .58rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    position: relative;
    transition: color .2s ease;
    min-width: 0;
  }
  .kp-bnav__item:hover,
  .kp-bnav__item:focus-visible {
    color: var(--green, #92ED32);
    outline: none;
  }
  .kp-bnav__icon {
    width: 22px;
    height: 22px;
    stroke-width: 2;
  }
  .kp-bnav__label {
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }
  
  /* Estado activo: barra verde superior + color */
  .kp-bnav__item.is-active {
    color: var(--green, #92ED32);
  }
  .kp-bnav__item.is-active::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20%;
    right: 20%;
    height: 2px;
    background: var(--green, #92ED32);
    border-radius: 0 0 2px 2px;
    box-shadow: 0 0 6px rgba(146,237,50,.6);
  }
  
  /* FAB destacado central · Aplicar */
  .kp-bnav__item--fab { color: #050507; }
  .kp-bnav__item--fab .kp-bnav__fab {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--green, #92ED32);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-12px);
    box-shadow: 0 4px 14px rgba(146,237,50,.4), 0 0 0 4px rgba(5,5,5,.92);
    transition: transform .2s ease, box-shadow .2s ease;
  }
  .kp-bnav__item--fab .kp-bnav__icon {
    width: 22px;
    height: 22px;
    color: #050507;
    stroke-width: 2.4;
  }
  .kp-bnav__item--fab .kp-bnav__label {
    color: var(--green, #92ED32);
    font-weight: 600;
    margin-top: -8px;
  }
  .kp-bnav__item--fab:hover .kp-bnav__fab,
  .kp-bnav__item--fab:focus-visible .kp-bnav__fab {
    transform: translateY(-14px);
    box-shadow: 0 6px 18px rgba(146,237,50,.55), 0 0 0 4px rgba(5,5,5,.92);
  }
  .kp-bnav__item--fab.is-active::before { display: none; }
  
  @media (prefers-reduced-motion: reduce) {
    .kp-bnav__item,
    .kp-bnav__item--fab .kp-bnav__fab { transition: none; }
  }
}

/* ══════════════════════════════════════════════════════════════
   FIX bullets pitch APLICAR · Sprint 6.1
   Bug: display:flex partía cada <strong>+texto en columnas
   ══════════════════════════════════════════════════════════════ */
.kp-apply__bullets li {
  display: block;
  position: relative;
  padding-left: 22px;
  gap: 0;
}
.kp-apply__bullets .kp-apply__check {
  position: absolute;
  left: 0;
  top: 0;
  color: var(--green);
  font-weight: 700;
}

/* ══════════════════════════════════════════════════════════════
   SPRINT 8 · [03] LEADERBOARD CLIPS · estilo récords gaming
   ══════════════════════════════════════════════════════════════ */
.kp-lb{border:1px solid rgba(146,237,50,.18);border-radius:4px;overflow:hidden;background:rgba(255,255,255,.015);margin-top:8px}
.kp-lb__row{display:grid;grid-template-columns:54px 1fr auto auto 44px;align-items:center;gap:18px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.06);transition:background .2s ease;text-decoration:none}
.kp-lb__row:last-child{border-bottom:0}
.kp-lb__row:hover{background:rgba(146,237,50,.06)}
.kp-lb__row--top{background:rgba(146,237,50,.03)}
.kp-lb__pos{font-family:'Space Mono',monospace;font-size:1.1rem;color:rgba(255,255,255,.4);text-align:center}
.kp-lb__pos--medal{font-size:1.5rem}
.kp-lb__info{min-width:0}
.kp-lb__name{font-weight:700;font-size:1.05rem;color:#fff;margin:0 0 2px}
.kp-lb__clip{font-size:.9rem;color:rgba(255,255,255,.72);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kp-lb__media{font-family:'Space Mono',monospace;font-size:.72rem;color:#FF3939;border:1px solid rgba(255,57,57,.35);border-radius:3px;padding:3px 8px;white-space:nowrap;justify-self:end}
.kp-lb__media--empty{visibility:hidden}
.kp-lb__views{font-family:'Space Mono',monospace;font-weight:700;font-size:1.5rem;color:#92ED32;text-align:right;line-height:1;justify-self:end}
.kp-lb__views small{display:block;font-size:.6rem;color:rgba(255,255,255,.35);font-weight:400;letter-spacing:.1em;margin-top:2px}
.kp-lb__play{width:42px;height:42px;border-radius:50%;border:1px solid rgba(146,237,50,.4);display:flex;align-items:center;justify-content:center;color:#92ED32;flex-shrink:0;transition:all .2s ease;font-size:.9rem}
.kp-lb__row:hover .kp-lb__play{background:#92ED32;color:#050507}
@media(max-width:640px){
  .kp-lb__row{grid-template-columns:34px 1fr auto;gap:10px;padding:14px;row-gap:4px}
  .kp-lb__media{grid-column:2;justify-self:start;margin-top:2px}
  .kp-lb__play{display:none}
  .kp-lb__views{font-size:1.2rem}
  .kp-lb__clip{white-space:normal}
}

/* ══════════════════════════════════════════════════════════════
   SPRINT 8 · [04] EN EMISIÓN · episodios YouTube
   ══════════════════════════════════════════════════════════════ */
.kp-ep__feature{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin:8px 0 40px}
.kp-ep__card{border:1px solid rgba(146,237,50,.18);border-radius:6px;overflow:hidden;background:rgba(255,255,255,.015);text-decoration:none;display:block}
.kp-ep__card--next{border-color:rgba(255,57,57,.25);display:flex;flex-direction:column;justify-content:center;padding:28px}
.kp-ep__thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#111}
.kp-ep__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.kp-ep__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:rgba(255,57,57,.92);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;padding-left:3px}
.kp-ep__play--big{width:62px;height:62px;font-size:1.3rem}
.kp-ep__meta{padding:16px 18px}
.kp-ep__badge{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.1em;color:#92ED32;text-transform:uppercase}
.kp-ep__badge--live,.kp-ep__badge--next{color:#FF3939}
.kp-ep__name{font-weight:700;font-size:1.15rem;color:#fff;margin:6px 0 2px}
.kp-ep__date{font-family:'Space Mono',monospace;font-size:.72rem;color:rgba(255,255,255,.72)}
.kp-ep__next-num{font-family:'Space Mono',monospace;font-size:3rem;font-weight:700;color:#FF3939;line-height:1;margin:4px 0}
.kp-ep__strip-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.kp-ep__strip-title{font-family:'Space Mono',monospace;font-size:.78rem;letter-spacing:.1em;color:rgba(255,255,255,.6);text-transform:uppercase}
.kp-ep__all{font-family:'Space Mono',monospace;font-size:.78rem;color:#92ED32;text-decoration:none}
.kp-ep__all:hover{text-decoration:underline}
.kp-ep__strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kp-ep__mini{text-decoration:none;display:block}
.kp-ep__mini .kp-ep__thumb{border-radius:5px;border:1px solid rgba(255,255,255,.08)}
.kp-ep__mini-ep{font-family:'Space Mono',monospace;font-size:.7rem;color:#92ED32;margin:8px 0 2px}
.kp-ep__mini-name{font-weight:700;font-size:.92rem;color:#fff;margin:0 0 2px}
.kp-ep__mini-title{font-size:.78rem;color:rgba(255,255,255,.72);margin:0;line-height:1.3}
@media(max-width:720px){
  .kp-ep__feature{grid-template-columns:1fr}
  .kp-ep__strip{grid-template-columns:repeat(2,1fr)}
}

/* ══════════════════════════════════════════════════════════════
   SPRINT 8 · [12] CONOCE A NUESTROS PATROCINADORES
   ══════════════════════════════════════════════════════════════ */
.kp-thanks__grid{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:center;margin-top:24px}
.kp-thanks__logo{background:#fff;border-radius:8px;padding:18px 26px;display:flex;align-items:center;justify-content:center;min-width:150px;min-height:80px}
.kp-thanks__logo img{max-width:130px;max-height:48px;object-fit:contain;display:block}
@media(max-width:640px){.kp-thanks__logo{min-width:120px;padding:14px 18px}}

/* S9 · placeholders legibles */
::placeholder{color:rgba(255,255,255,.6)!important;opacity:1}

/* S9 · eyebrow tags (section__head-tag) más legibles en desktop */
.section__head-tag{font-size:.8rem!important;letter-spacing:.14em!important}
.section__head-tag .num{color:#92ED32!important;font-weight:700!important}
.section__head-tag .label{color:rgba(255,255,255,.82)!important;font-weight:600!important}
.section__head-tag .sep{color:rgba(146,237,50,.6)!important}

/* S9 · fix menú índice mobile: z-index unificado por encima del bottom-nav */
.hud-toc{z-index:250!important}
.hud-toc-backdrop{z-index:240!important}
body.toc-open .kp-bnav{opacity:0;pointer-events:none;transition:opacity .25s ease}

/* S9 · efecto TV antigua / emisión sobre la imagen del hero */
.kp-hero__media{position:relative}
.kp-hero__media::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,0) 0px,rgba(0,0,0,0) 2px,rgba(0,0,0,.18) 3px,rgba(0,0,0,0) 4px);
  animation:kp-tvscan 8s linear infinite;mix-blend-mode:multiply;opacity:.7}
.kp-hero__media::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;border-radius:inherit;
  background:radial-gradient(ellipse at center,rgba(0,0,0,0) 60%,rgba(0,0,0,.35) 100%);
  animation:kp-tvflicker 5s steps(60) infinite}
@keyframes kp-tvscan{0%{transform:translateY(0)}100%{transform:translateY(8px)}}
@keyframes kp-tvflicker{0%,100%{opacity:.55}48%{opacity:.5}50%{opacity:.7}52%{opacity:.5}}
@media(prefers-reduced-motion:reduce){.kp-hero__media::after,.kp-hero__media::before{animation:none}}

/* S9 · HERO TERMINAL INTERACTIVA */
.kp-term{margin:14px 0 0}
.kp-term__line{font-family:var(--font-display,'Bricolage Grotesque',sans-serif);font-weight:800;
  font-size:clamp(2.4rem,6vw,4rem);line-height:1;color:#fff;margin:0;min-height:1.1em;word-break:break-word}
.kp-term__line em{font-style:normal;color:var(--green,#92ED32)}
.kp-term__cursor{display:inline-block;width:.5ch;background:var(--green,#92ED32);color:var(--green,#92ED32);
  animation:kp-blink 1s steps(1) infinite;margin-left:2px}
@keyframes kp-blink{50%{opacity:0}}
.kp-term__invite{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 14px;
  border:1px solid rgba(146,237,50,.4);border-radius:4px;background:rgba(146,237,50,.06);
  font-family:var(--font-mono,'Space Mono',monospace);font-size:.78rem;color:var(--green,#92ED32);
  letter-spacing:.04em;animation:kp-invite-pulse 2.4s ease-in-out infinite;transition:opacity .3s ease}
.kp-term__invite.is-hidden{opacity:0;pointer-events:none}
@keyframes kp-invite-pulse{0%,100%{box-shadow:0 0 0 0 rgba(146,237,50,0)}50%{box-shadow:0 0 0 4px rgba(146,237,50,.08)}}
.kp-term__key{display:inline-block;padding:1px 7px;border:1px solid rgba(146,237,50,.5);border-radius:3px;
  font-size:.7rem;background:rgba(146,237,50,.12)}
.kp-term__feed{margin-top:14px;min-height:1.4em;font-family:var(--font-mono,'Space Mono',monospace)}
.kp-term__feed div{font-size:.85rem;color:var(--green,#92ED32);opacity:0;animation:kp-feed-in .4s forwards}
.kp-term__feed .kp-term__user{color:#fff}
@keyframes kp-feed-in{to{opacity:1}}

/* S9 · scroll-to-top SOLO desktop */
.kp-totop{position:fixed;bottom:28px;right:24px;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(146,237,50,.4);background:rgba(5,5,7,.8);backdrop-filter:blur(8px);
  color:var(--green,#92ED32);display:flex;align-items:center;justify-content:center;cursor:pointer;
  opacity:0;pointer-events:none;transition:opacity .3s ease,transform .2s ease;z-index:120;font-size:1.1rem}
.kp-totop.is-visible{opacity:1;pointer-events:auto}
.kp-totop:hover{background:var(--green,#92ED32);color:#050507;transform:translateY(-2px)}
@media(max-width:768px){.kp-totop{display:none!important}}

/* S9 · leaderboard desplegable de noticias */
.kp-lb__news{grid-column:1/-1;max-height:0;overflow:hidden;transition:max-height .35s ease;
  background:rgba(255,57,57,.04);border-left:2px solid rgba(255,57,57,.4)}
.kp-lb__news.is-open{max-height:420px}
.kp-lb__news-inner{padding:14px 22px 18px 30px}
.kp-lb__news a{display:block;font-family:var(--font-mono,'Space Mono',monospace);font-size:.8rem;
  color:rgba(255,255,255,.78);text-decoration:none;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.kp-lb__news a:last-child{border-bottom:0}
.kp-lb__news a:hover{color:var(--green,#92ED32)}
.kp-lb__news a::before{content:'→ ';color:#FF3939}
.kp-lb__media{cursor:pointer}
.kp-lb__media:hover{background:rgba(255,57,57,.15)}

/* ══════════════════════════════════════════════════════════════
   SPRINT 10 · HERO "SEÑAL DE RADIO" · sintonización (opción 2)
   ══════════════════════════════════════════════════════════════ */
.kp-hero--signal{position:relative;--tune:0;overflow:hidden}
.kp-hero--signal .kp-hero__inner{
  filter:blur(calc((1 - var(--tune)) * 7px)) contrast(calc(1 + (1 - var(--tune)) * .5));
  opacity:calc(.4 + var(--tune) * .6);
  transition:filter .15s linear,opacity .15s linear}
.kp-signal-noise{position:absolute;inset:0;z-index:6;pointer-events:none;
  opacity:calc((1 - var(--tune)) * .85);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  background-size:170px 170px;animation:kp-noise .25s steps(4) infinite;mix-blend-mode:screen;transition:opacity .2s linear}
@keyframes kp-noise{0%{background-position:0 0}25%{background-position:-40px 30px}50%{background-position:60px -20px}75%{background-position:-30px -40px}100%{background-position:40px 50px}}
.kp-signal-status{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:7;
  font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.15em;color:#FF3939;
  display:flex;align-items:center;gap:8px;text-transform:uppercase}
.kp-signal-status.is-locked{color:#92ED32}
.kp-signal-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:kp-sigblink 1s steps(1) infinite}
.kp-signal-status.is-locked .kp-signal-dot{animation:none}
@keyframes kp-sigblink{50%{opacity:.2}}
.kp-signal-hint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:7;
  font-family:'Space Mono',monospace;font-size:.76rem;color:rgba(146,237,50,.85);letter-spacing:.04em;
  border:1px solid rgba(146,237,50,.4);border-radius:4px;padding:8px 14px;background:rgba(146,237,50,.06);
  white-space:nowrap;transition:opacity .4s ease}
.kp-signal-hint.is-hidden{opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.kp-hero--signal .kp-hero__inner{filter:none!important;opacity:1!important}.kp-signal-noise{display:none}}

/* SPRINT 11 · fixes hero */
.kp-hero__title::before,.kp-hero__title::after{display:none!important;content:none!important}
.kp-lb__play{padding-left:3px;box-sizing:border-box}

/* SPRINT 11 · sintonización clara + typing título */
.kp-signal-hint{display:flex;flex-direction:column;align-items:center;gap:8px}
.kp-signal-hint-txt{animation:kp-hintpulse 1.6s ease-in-out infinite;font-weight:700}
@keyframes kp-hintpulse{0%,100%{opacity:.55}50%{opacity:1}}
.kp-signal-bar{width:180px;height:4px;background:rgba(146,237,50,.15);border-radius:3px;overflow:hidden}
.kp-signal-bar-fill{width:0%;height:100%;background:#92ED32;border-radius:3px;transition:width .12s linear;box-shadow:0 0 8px rgba(146,237,50,.6)}
.kp-title-cursor{display:inline-block;width:.5ch;height:.85em;background:#92ED32;margin-left:3px;vertical-align:baseline;animation:kp-tcursor 1s steps(1) infinite}
@keyframes kp-tcursor{50%{opacity:0}}
.kp-title-cursor.is-done{animation:kp-tcursor 1s steps(1) infinite}
.kp-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(prefers-reduced-motion:reduce){.kp-signal-hint-txt,.kp-title-cursor{animation:none}}
