/* ============================================================
   ACADEMIA ALENCASTRO — Hoja de estilos maestra
   Alineada al Manual de Identidad Corporativa ID-001
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; overflow-x: hidden; }

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  background-color: #0a0a0a;
  color: #ffffff;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  min-height: 100vh;
}

img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
button, input, select, textarea { font-family: inherit; font-size: inherit; }

:root {
  --gold:        #C9A84C;
  --gold-light:  #E5C875;
  --gold-dim:    #9A7A38;
  --black:       #0a0a0a;
  --dark:        #111111;
  --card:        #181818;
  --card-hover:  #1e1e1e;
  --border:      #2a2a2a;
  --border-soft: #202020;
  --muted:       #888888;
  --light:       #cccccc;
  --white:       #ffffff;
  --navy:        #1C2B3A;
  --navy-mid:    #2E5F8A;
  --cream:       #FBF7EC;
  --green:       #1A6B2E;
  --green-light: #3FBF5F;
  --red:         #8B2E2E;
  --radius:      8px;
  --radius-lg:   12px;
  --max-w:       1140px;
  --nav-h:       68px;
}

/* ── UTILIDADES ─────────────────────────────────────────── */
.container { max-width: var(--max-w); margin: 0 auto; padding: 0 24px; }
.container-narrow { max-width: 820px; margin: 0 auto; padding: 0 24px; }
.gold { color: var(--gold); }
.muted { color: var(--muted); }
.text-center { text-align: center; }
.hidden { display: none !important; }

.section-label {
  font-size: 11px; font-weight: 600; letter-spacing: 3px;
  text-transform: uppercase; color: var(--gold);
  margin-bottom: 14px; display: block;
}
.section-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 700; line-height: 1.2; margin-bottom: 18px;
}
.section-sub {
  font-size: 17px; color: var(--light); line-height: 1.7;
  max-width: 660px;
}
.divider { width: 48px; height: 2px; background: var(--gold); margin: 0 0 28px; }
.divider-center { margin: 0 auto 28px; }

/* ── BOTONES ────────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; padding: 13px 26px; border-radius: var(--radius);
  font-size: 14px; font-weight: 600; letter-spacing: .3px;
  border: 1px solid transparent; cursor: pointer;
  transition: all .22s ease; text-align: center;
}
.btn-primary { background: var(--gold); color: #0a0a0a; }
.btn-primary:hover { background: var(--gold-light); transform: translateY(-1px); }
.btn-outline { background: transparent; color: var(--gold); border-color: var(--gold-dim); }
.btn-outline:hover { background: rgba(201,168,76,.09); border-color: var(--gold); }
.btn-ghost { background: var(--card); color: var(--light); border-color: var(--border); }
.btn-ghost:hover { background: var(--card-hover); color: var(--white); border-color: #3a3a3a; }
.btn-block { width: 100%; }
.btn:disabled { opacity: .45; cursor: not-allowed; transform: none !important; }
.btn-sm { padding: 9px 18px; font-size: 13px; }

/* ── NAVBAR ─────────────────────────────────────────────── */
.navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(10,10,10,.94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
}
.navbar-inner {
  max-width: var(--max-w); margin: 0 auto; padding: 0 24px;
  display: flex; align-items: center; justify-content: space-between;
  height: var(--nav-h); gap: 20px;
}
.navbar-brand {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 19px; font-weight: 700; letter-spacing: 1px;
  color: var(--white); white-space: nowrap;
}
.navbar-brand span { color: var(--gold); font-size: 12px; letter-spacing: 2px;
  font-family: 'Inter', sans-serif; font-weight: 500; text-transform: uppercase;
  display: block; margin-top: -4px; }
.navbar-links { display: flex; align-items: center; gap: 22px; list-style: none; }
.navbar-links a {
  font-size: 13px; font-weight: 500; color: var(--light);
  transition: color .2s; white-space: nowrap;
}
.navbar-links a:hover, .navbar-links a.active { color: var(--gold); }
.nav-user {
  display: flex; align-items: center; gap: 10px;
  font-size: 12px; color: var(--muted);
}
.nav-avatar {
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--gold); color: #0a0a0a;
  display: grid; place-items: center;
  font-size: 12px; font-weight: 700; text-transform: uppercase;
}

/* ── LAYOUT PÁGINA ──────────────────────────────────────── */
.page { padding-top: calc(var(--nav-h) + 56px); padding-bottom: 90px; }
.page-head { margin-bottom: 44px; }

/* ── CAMPUS SWITCH ──────────────────────────────────────── */
.campus-switch {
  display: inline-flex; gap: 4px; padding: 4px;
  background: var(--card); border: 1px solid var(--border);
  border-radius: 100px; margin-bottom: 36px;
}
.campus-switch button {
  padding: 9px 22px; border-radius: 100px; border: none;
  background: transparent; color: var(--muted);
  font-size: 13px; font-weight: 600; cursor: pointer;
  transition: all .2s;
}
.campus-switch button.active { background: var(--gold); color: #0a0a0a; }
.campus-switch button:hover:not(.active) { color: var(--light); }

/* ── HERO CATÁLOGO (visitante sin permisos de equipo) ──── */
.hero-catalogo {
  margin-bottom: 52px; padding-bottom: 46px;
  border-bottom: 1px solid var(--border-soft);
}
.hero-catalogo-simple { max-width: 780px; }
.hero-catalogo-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(34px, 5.6vw, 56px); font-weight: 700;
  line-height: 1.14; margin: 14px 0 24px;
}
.hero-catalogo-lead {
  font-size: 17px; color: var(--light); line-height: 1.75;
  max-width: 640px; margin-bottom: 16px;
}
.hero-catalogo-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px; }
.hero-catalogo-proof { display: flex; flex-direction: column; gap: 14px; }
.proof-chip {
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 18px 20px;
}
.proof-chip-label {
  display: block; font-size: 10.5px; font-weight: 700; letter-spacing: 1.6px;
  text-transform: uppercase; color: var(--gold); margin-bottom: 8px;
}
.proof-chip p { font-size: 13.5px; color: var(--light); line-height: 1.6; }

/* ── GRID DE CURSOS ─────────────────────────────────────── */
.cursos-grid {
  display: grid; gap: 22px;
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
}
.curso-card {
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--radius-lg); overflow: hidden;
  display: flex; flex-direction: column;
  transition: border-color .25s, transform .25s;
}
.curso-card:hover { border-color: var(--gold-dim); transform: translateY(-3px); }
.curso-cover {
  height: 148px; position: relative;
  background: linear-gradient(135deg, var(--navy) 0%, #0d1620 100%);
  display: grid; place-items: center; overflow: hidden;
}
.curso-cover::after {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 20%, rgba(201,168,76,.16), transparent 62%);
}
.curso-cover-num {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 52px; font-weight: 700; color: rgba(201,168,76,.34);
  position: relative; z-index: 1; line-height: 1;
}
.curso-body { padding: 22px; flex: 1; display: flex; flex-direction: column; }
.curso-meta {
  display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px;
}
.tag {
  font-size: 10px; font-weight: 600; letter-spacing: 1.4px;
  text-transform: uppercase; padding: 4px 10px;
  border-radius: 4px; background: rgba(201,168,76,.11);
  color: var(--gold); border: 1px solid rgba(201,168,76,.22);
}
.tag-neutral { background: rgba(255,255,255,.05); color: var(--muted); border-color: var(--border); }
.tag-green { background: rgba(63,191,95,.1); color: var(--green-light); border-color: rgba(63,191,95,.25); }
.tag-soon { background: rgba(255,255,255,.04); color: var(--muted); border-color: var(--border); }
.curso-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 21px; font-weight: 700; line-height: 1.3; margin-bottom: 10px;
}
.curso-desc { font-size: 14px; color: var(--light); line-height: 1.65; flex: 1; }
.curso-foot {
  margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border-soft);
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.curso-stats { font-size: 12px; color: var(--muted); }
.curso-precio {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px; font-weight: 700; color: var(--gold);
}
.curso-precio small { font-size: 11px; color: var(--muted); font-family: 'Inter', sans-serif; font-weight: 400; }

.curso-card-proximo { opacity: 1; }
.curso-avance { list-style: none; margin: 2px 0 8px; }
.curso-avance li {
  font-size: 12.5px; color: var(--light); padding: 5px 0 5px 16px;
  position: relative; line-height: 1.5;
}
.curso-avance li::before { content: '+'; position: absolute; left: 0; color: var(--gold); font-weight: 700; }

/* ── BARRA DE PROGRESO ──────────────────────────────────── */
.progress-wrap { margin-top: 14px; }
.progress-bar {
  height: 4px; background: var(--border); border-radius: 100px; overflow: hidden;
}
.progress-fill {
  height: 100%; background: var(--gold); border-radius: 100px;
  transition: width .4s ease; width: 0;
}
.progress-label { font-size: 11px; color: var(--muted); margin-top: 7px; }

/* ── DETALLE DE CURSO ───────────────────────────────────── */
.curso-hero {
  display: grid; grid-template-columns: 1fr 340px; gap: 46px; align-items: start;
  margin-bottom: 56px;
}
.curso-hero h1 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(30px, 4.4vw, 44px); font-weight: 700;
  line-height: 1.18; margin-bottom: 18px;
}
.curso-hero-desc { font-size: 17px; color: var(--light); line-height: 1.75; }
.curso-panel {
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 26px; position: sticky; top: 96px;
}
.panel-precio {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 34px; font-weight: 700; color: var(--gold);
  line-height: 1; margin-bottom: 4px;
}
.panel-precio-sub { font-size: 12px; color: var(--muted); margin-bottom: 22px; }
.panel-list { list-style: none; margin: 22px 0; }
.panel-list li {
  font-size: 13px; color: var(--light); padding: 8px 0 8px 24px;
  position: relative; border-bottom: 1px solid var(--border-soft);
}
.panel-list li:last-child { border-bottom: none; }
.panel-list li::before {
  content: '▸'; position: absolute; left: 0; top: 8px; color: var(--gold);
}

/* ── TEMARIO ────────────────────────────────────────────── */
.modulo { margin-bottom: 14px; border: 1px solid var(--border);
  border-radius: var(--radius); overflow: hidden; background: var(--card); }
.modulo-head {
  padding: 17px 22px; display: flex; align-items: center; gap: 14px;
  cursor: pointer; user-select: none; transition: background .2s;
}
.modulo-head:hover { background: var(--card-hover); }
.modulo-num {
  width: 32px; height: 32px; flex-shrink: 0; border-radius: 6px;
  background: rgba(201,168,76,.1); border: 1px solid rgba(201,168,76,.24);
  color: var(--gold); display: grid; place-items: center;
  font-size: 13px; font-weight: 700;
}
.modulo-titulo { flex: 1; font-size: 15px; font-weight: 600; }
.modulo-count { font-size: 12px; color: var(--muted); white-space: nowrap; }
.modulo-chevron { color: var(--muted); transition: transform .25s; font-size: 12px; }
.modulo.open .modulo-chevron { transform: rotate(90deg); }
.modulo-body { display: none; border-top: 1px solid var(--border-soft); }
.modulo.open .modulo-body { display: block; }

.leccion-row {
  display: flex; align-items: center; gap: 14px;
  padding: 13px 22px 13px 24px; border-bottom: 1px solid var(--border-soft);
  transition: background .18s; font-size: 14px;
}
.leccion-row:last-child { border-bottom: none; }
.leccion-row:hover { background: rgba(255,255,255,.022); }
.leccion-check {
  width: 19px; height: 19px; flex-shrink: 0; border-radius: 50%;
  border: 1.5px solid var(--border); display: grid; place-items: center;
  font-size: 10px; color: transparent; transition: all .2s;
}
.leccion-row.done .leccion-check {
  background: var(--gold); border-color: var(--gold); color: #0a0a0a;
}
.leccion-nombre { flex: 1; color: var(--light); }
.leccion-row.done .leccion-nombre { color: var(--muted); }
.leccion-dur { font-size: 12px; color: var(--muted); white-space: nowrap; }
.leccion-lock { font-size: 12px; color: var(--muted); }

/* ── VISTA DE LECCIÓN ───────────────────────────────────── */
.leccion-layout {
  display: grid; grid-template-columns: 1fr 300px; gap: 40px; align-items: start;
}
.video-frame {
  position: relative; width: 100%; padding-bottom: 56.25%;
  background: #000; border: 1px solid var(--border);
  border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 30px;
}
.video-frame iframe, .video-frame video {
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
}
.video-placeholder {
  position: absolute; inset: 0; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--navy) 0%, #0b131c 100%);
  text-align: center; padding: 24px;
}
.video-placeholder-inner { max-width: 340px; }
.video-placeholder .icon {
  width: 58px; height: 58px; margin: 0 auto 16px; border-radius: 50%;
  border: 2px solid var(--gold-dim); display: grid; place-items: center;
  color: var(--gold); font-size: 20px;
}

.leccion-titulo {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(25px, 3.4vw, 34px); font-weight: 700;
  line-height: 1.25; margin-bottom: 10px;
}
.leccion-breadcrumb {
  font-size: 12px; color: var(--muted); margin-bottom: 12px;
  letter-spacing: .6px; text-transform: uppercase; font-weight: 600;
}
.leccion-breadcrumb a:hover { color: var(--gold); }

.apuntes {
  margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--border);
}
.apuntes h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 21px; font-weight: 700; margin: 30px 0 12px;
}
.apuntes h3:first-child { margin-top: 0; }
.apuntes h4 {
  font-size: 15px; font-weight: 600; color: var(--gold);
  margin: 24px 0 8px; letter-spacing: .2px;
}
.apuntes p { font-size: 15.5px; color: var(--light); margin-bottom: 15px; line-height: 1.8; }
.apuntes ul, .apuntes ol { margin: 0 0 18px 20px; }
.apuntes li { font-size: 15px; color: var(--light); margin-bottom: 8px; line-height: 1.75; }
.apuntes strong { color: var(--white); font-weight: 600; }
.apuntes code {
  background: var(--card); border: 1px solid var(--border);
  padding: 2px 6px; border-radius: 4px; font-size: 13px; color: var(--gold-light);
}
.callout {
  background: rgba(201,168,76,.06); border-left: 3px solid var(--gold);
  padding: 16px 20px; border-radius: 0 var(--radius) var(--radius) 0;
  margin: 22px 0;
}
.callout p:last-child { margin-bottom: 0; }
.callout-title {
  font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold); font-weight: 700; margin-bottom: 7px; display: block;
}
.callout-warn { background: rgba(139,46,46,.09); border-left-color: #B84A4A; }
.callout-warn .callout-title { color: #E08585; }

.tabla-wrap { overflow-x: auto; margin: 22px 0; }
table.data {
  width: 100%; border-collapse: collapse; font-size: 13.5px;
  border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden;
}
table.data th {
  background: var(--card); color: var(--gold); text-align: left;
  padding: 12px 15px; font-size: 11px; letter-spacing: 1.4px;
  text-transform: uppercase; font-weight: 700; border-bottom: 1px solid var(--border);
}
table.data td {
  padding: 12px 15px; border-bottom: 1px solid var(--border-soft); color: var(--light);
  vertical-align: top;
}
table.data tr:last-child td { border-bottom: none; }
table.data tbody tr:hover { background: rgba(255,255,255,.02); }

/* ── SIDEBAR LECCIÓN ────────────────────────────────────── */
.leccion-side { position: sticky; top: 96px; }
.side-card {
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 20px; margin-bottom: 16px;
}
.side-card h4 {
  font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gold); font-weight: 700; margin-bottom: 14px;
}
.side-nav-list { list-style: none; max-height: 380px; overflow-y: auto; }
.side-nav-list li a {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 8px 0; font-size: 13px; color: var(--muted);
  border-bottom: 1px solid var(--border-soft); line-height: 1.5;
}
.side-nav-list li:last-child a { border-bottom: none; }
.side-nav-list li a:hover { color: var(--light); }
.side-nav-list li a.current { color: var(--gold); font-weight: 600; }
.side-nav-list .dot {
  width: 6px; height: 6px; border-radius: 50%; background: var(--border);
  flex-shrink: 0; margin-top: 7px;
}
.side-nav-list li a.done .dot { background: var(--gold-dim); }
.side-nav-list li a.current .dot { background: var(--gold); }

.recurso-item {
  display: flex; align-items: center; gap: 12px; padding: 11px 0;
  border-bottom: 1px solid var(--border-soft); font-size: 13px; color: var(--light);
}
.recurso-item:last-child { border-bottom: none; }
.recurso-item:hover { color: var(--gold); }
.recurso-icon {
  width: 30px; height: 30px; border-radius: 6px; flex-shrink: 0;
  background: rgba(201,168,76,.09); border: 1px solid rgba(201,168,76,.2);
  display: grid; place-items: center; font-size: 11px; color: var(--gold); font-weight: 700;
}

.leccion-nav {
  display: flex; gap: 12px; justify-content: space-between;
  margin-top: 40px; padding-top: 26px; border-top: 1px solid var(--border);
}

/* ── ACCESO / LOGIN ─────────────────────────────────────── */
.auth-wrap {
  min-height: 100vh; display: grid; place-items: center; padding: 100px 24px 60px;
}
.auth-card {
  width: 100%; max-width: 430px; background: var(--card);
  border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 40px;
}
.auth-card h1 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 28px; font-weight: 700; margin-bottom: 10px;
}
.auth-card p.sub { font-size: 14.5px; color: var(--muted); margin-bottom: 28px; line-height: 1.65; }
.field { margin-bottom: 18px; }
.field label {
  display: block; font-size: 11px; letter-spacing: 1.6px; text-transform: uppercase;
  color: var(--gold); font-weight: 600; margin-bottom: 8px;
}
.field input {
  width: 100%; padding: 13px 15px; background: var(--dark);
  border: 1px solid var(--border); border-radius: var(--radius);
  color: var(--white); font-size: 15px; transition: border-color .2s;
}
.field input:focus { outline: none; border-color: var(--gold-dim); }
.field input::placeholder { color: #555; }

.alert {
  padding: 13px 16px; border-radius: var(--radius); font-size: 13.5px;
  margin-bottom: 20px; line-height: 1.6;
}
.alert-ok { background: rgba(63,191,95,.09); border: 1px solid rgba(63,191,95,.28); color: #8FE0A4; }
.alert-err { background: rgba(184,74,74,.1); border: 1px solid rgba(184,74,74,.3); color: #E89A9A; }
.alert-info { background: rgba(201,168,76,.07); border: 1px solid rgba(201,168,76,.24); color: var(--gold-light); }

/* ── ESTADOS ────────────────────────────────────────────── */
.empty-state {
  text-align: center; padding: 70px 24px; color: var(--muted);
  border: 1px dashed var(--border); border-radius: var(--radius-lg);
}
.empty-state h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 21px; color: var(--light); margin-bottom: 10px; font-weight: 700;
}
.loader {
  width: 34px; height: 34px; margin: 60px auto;
  border: 2px solid var(--border); border-top-color: var(--gold);
  border-radius: 50%; animation: spin .8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ── PAYWALL ────────────────────────────────────────────── */
.paywall {
  text-align: center; padding: 56px 34px;
  background: var(--card); border: 1px solid var(--gold-dim);
  border-radius: var(--radius-lg); max-width: 560px; margin: 0 auto;
}
.paywall .lock {
  width: 56px; height: 56px; margin: 0 auto 20px; border-radius: 50%;
  background: rgba(201,168,76,.1); border: 1px solid var(--gold-dim);
  display: grid; place-items: center; font-size: 22px;
}
.paywall h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 26px; font-weight: 700; margin-bottom: 12px;
}
.paywall p { color: var(--light); font-size: 15px; margin-bottom: 26px; line-height: 1.7; }
.paywall-opciones { display: grid; gap: 12px; }

/* ── CERTIFICADO ────────────────────────────────────────── */
.certificado { display: flex; justify-content: center; padding: 0 24px 60px; }
.certificado-marco {
  width: 100%; max-width: 820px; background: linear-gradient(155deg, #10131a 0%, var(--black) 60%);
  border: 2px solid var(--gold-dim); border-radius: var(--radius-lg);
  padding: 64px 48px; text-align: center; position: relative;
}
.certificado-marco::before {
  content: ''; position: absolute; inset: 10px; border: 1px solid rgba(201,168,76,.35);
  border-radius: 6px; pointer-events: none;
}
.certificado-marca {
  font-family: 'Playfair Display', Georgia, serif; font-size: 20px; font-weight: 700;
  letter-spacing: 1px; color: var(--white); display: block; margin-bottom: 34px;
}
.certificado-marca span {
  display: block; font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 500;
  letter-spacing: 3px; color: var(--gold); margin-top: 2px;
}
.certificado-label {
  font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--muted); margin-bottom: 20px;
}
.certificado-nombre {
  font-family: 'Playfair Display', Georgia, serif; font-size: clamp(28px, 4.4vw, 42px);
  font-weight: 700; color: var(--gold-light); margin-bottom: 18px; line-height: 1.2;
}
.certificado-texto { font-size: 14px; color: var(--light); margin-bottom: 10px; }
.certificado-curso {
  font-family: 'Playfair Display', Georgia, serif; font-size: clamp(20px, 3vw, 27px);
  font-weight: 700; color: var(--white); margin-bottom: 22px; line-height: 1.3;
}
.certificado-fecha { font-size: 13px; color: var(--muted); margin-bottom: 40px; text-transform: capitalize; }
.certificado-pie {
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px;
  padding-top: 22px; border-top: 1px solid var(--border-soft);
  font-size: 11.5px; color: var(--muted);
}
.certificado-pie a { color: var(--gold); }

@media print {
  .navbar, .footer, .no-print { display: none !important; }
  body { background: #fff !important; padding-top: 0 !important; }
  .page { padding: 0 !important; }
  .certificado-marco { border-color: #C9A84C; background: #0a0a0a; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ── FOOTER ─────────────────────────────────────────────── */
.footer {
  border-top: 1px solid var(--border); padding: 34px 0;
  font-size: 12.5px; color: var(--muted); text-align: center;
}
.footer a:hover { color: var(--gold); }

/* ── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width: 960px) {
  .curso-hero { grid-template-columns: 1fr; gap: 32px; }
  .curso-panel { position: static; }
  .leccion-layout { grid-template-columns: 1fr; gap: 32px; }
  .leccion-side { position: static; }
  .side-nav-list { max-height: none; }
  .hero-catalogo { grid-template-columns: 1fr; gap: 28px; }
  .hero-catalogo-proof { flex-direction: row; flex-wrap: wrap; }
  .proof-chip { flex: 1 1 220px; }
}
@media (max-width: 680px) {
  :root { --nav-h: 60px; }
  .navbar-links { gap: 14px; }
  .navbar-links a { font-size: 12px; }
  .navbar-brand { font-size: 16px; }
  .page { padding-top: calc(var(--nav-h) + 34px); padding-bottom: 60px; }
  .cursos-grid { grid-template-columns: 1fr; }
  .hero-catalogo-cta { flex-direction: column; }
  .hero-catalogo-cta .btn { width: 100%; }
  .auth-card { padding: 28px 22px; }
  .leccion-nav { flex-direction: column; }
  .leccion-nav .btn { width: 100%; }
  .modulo-head { padding: 14px 16px; gap: 11px; }
  .leccion-row { padding: 12px 16px; }
  .curso-panel { padding: 22px; }
  .paywall { padding: 38px 22px; }
}
@media (max-width: 480px) {
  .navbar-links .nav-hide-sm { display: none; }
}

/* ── Historial de compras / Dashboard de ingresos ─────────── */
.tabla-historial {
  width: 100%; border-collapse: collapse; font-size: 14px;
  border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden;
}
.tabla-historial th {
  text-align: left; padding: 12px 15px; background: var(--card);
  color: var(--muted); font-size: 11px; letter-spacing: .04em;
  text-transform: uppercase; font-weight: 700; border-bottom: 1px solid var(--border);
}
.tabla-historial td {
  padding: 12px 15px; border-bottom: 1px solid var(--border-soft); color: var(--light);
}
.tabla-historial tr:last-child td { border-bottom: none; }

.badge {
  display: inline-block; padding: 3px 10px; border-radius: 100px;
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  background: rgba(255,255,255,.06); color: var(--light);
}
.badge-ok { background: rgba(201,168,76,.14); color: var(--gold-light); }

.kpi-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px; margin-bottom: 30px;
}
.kpi-card {
  background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 20px;
}
.kpi-card .kpi-label {
  font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted);
  margin-bottom: 8px;
}
.kpi-card .kpi-valor { font-size: 28px; font-weight: 700; color: #fff; }
.kpi-card .kpi-valor.gold { color: var(--gold-light); }

/* ── Quiz de lección ───────────────────────────────────────── */
.quiz-card {
  background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 26px; margin: 30px 0;
}
.quiz-card h4 {
  font-family: 'Playfair Display', serif; font-size: 19px; color: var(--white); margin-bottom: 14px;
}
.quiz-previo {
  font-size: 13px; color: var(--light); background: rgba(255,255,255,.04);
  border: 1px solid var(--border); border-radius: var(--radius); padding: 10px 14px; margin-bottom: 18px;
}
.quiz-previo.ok { color: #8FE0A4; background: rgba(63,191,95,.08); border-color: rgba(63,191,95,.25); }
.quiz-pregunta {
  border: none; margin-bottom: 22px; padding: 0;
}
.quiz-pregunta legend {
  font-size: 15px; color: var(--white); font-weight: 600; margin-bottom: 10px; padding: 0;
}
.quiz-opcion {
  display: flex; align-items: center; gap: 10px; padding: 10px 14px; margin-bottom: 8px;
  background: var(--dark); border: 1px solid var(--border); border-radius: var(--radius);
  cursor: pointer; font-size: 14px; color: var(--light); transition: border-color .15s;
}
.quiz-opcion:hover { border-color: var(--gold-dim); }
.quiz-opcion input { accent-color: var(--gold); }
.quiz-opcion.correcta { border-color: rgba(63,191,95,.5); background: rgba(63,191,95,.08); color: #8FE0A4; }
.quiz-opcion.incorrecta { border-color: rgba(184,74,74,.5); background: rgba(184,74,74,.08); color: #E89A9A; }
#quiz-resultado:empty { display: none; }

/* ── Panel del profesor/administrador — barra lateral ───────── */
.panel-shell {
  display: flex; align-items: flex-start; gap: 0;
  max-width: 1280px; margin: 0 auto; padding: 0 24px;
}
.panel-sidebar {
  width: 216px; flex-shrink: 0;
  position: sticky; top: calc(var(--nav-h) + 32px);
}
.panel-sidebar-titulo {
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--muted); padding: 0 14px 14px;
}
.panel-nav { display: flex; flex-direction: column; gap: 3px; }
.panel-nav-item {
  display: flex; align-items: center; gap: 11px; width: 100%;
  padding: 11px 14px; border-radius: var(--radius); border: none;
  background: transparent; color: var(--light); font-size: 14px; font-weight: 500;
  text-align: left; cursor: pointer; transition: background .15s, color .15s;
}
.panel-nav-item:hover:not(.active) { background: var(--card); color: #fff; }
.panel-nav-item.active { background: var(--gold); color: #0a0a0a; font-weight: 700; }
.panel-nav-icon { font-size: 16px; line-height: 1; width: 20px; text-align: center; flex-shrink: 0; }
.panel-nav-label { flex: 1; }
.panel-nav-pronto {
  font-size: 9.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
  color: var(--muted); background: rgba(255,255,255,.06); padding: 3px 7px; border-radius: 100px;
}
.panel-nav-item.active .panel-nav-pronto { background: rgba(10,10,10,.15); color: #0a0a0a; }
.panel-main {
  flex: 1; min-width: 0; padding: 6px 0 60px 40px;
  border-left: 1px solid var(--border); margin-left: 14px;
}
@media (max-width: 860px) {
  .panel-shell { flex-direction: column; padding: 0 16px; }
  .panel-sidebar { width: 100%; position: static; margin-bottom: 22px; }
  .panel-sidebar-titulo { display: none; }
  .panel-nav { flex-direction: row; overflow-x: auto; gap: 6px; padding-bottom: 4px; }
  .panel-nav-item { width: auto; white-space: nowrap; padding: 9px 14px; }
  .panel-main { padding: 0 0 40px; border-left: none; margin-left: 0; }
}

/* ==========================================================
   PORTAL COMERCIAL DE LICENCIAS — experiencia SaaS
   Aislado de los estilos de cada academia cliente.
   ========================================================== */
.platform-body{background:#f7f7f2;color:#132a2e;font-family:Inter,system-ui,sans-serif}.platform-body #app{min-height:0}.platform-announcement{height:36px;display:flex;align-items:center;justify-content:center;background:#112f32;color:#dff28d;font-size:12px;font-weight:700;letter-spacing:.06em}.platform-nav{height:76px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,252,.94);border-bottom:1px solid #dce2da;position:sticky;top:0;z-index:50;backdrop-filter:blur(16px)}.platform-logo{display:grid;grid-template-columns:38px auto;grid-template-rows:20px 15px;column-gap:10px;text-decoration:none;color:#112f32;align-items:center}.platform-logo>span{grid-row:1/3;width:38px;height:38px;border-radius:11px;background:#dff16f;display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:23px;font-weight:700}.platform-logo strong{font-size:15px;letter-spacing:.16em;align-self:end}.platform-logo small{font-size:9px;letter-spacing:.23em;font-weight:700;align-self:start;color:#587174}.platform-nav-links{display:flex;gap:34px}.platform-nav a{color:#19383b;text-decoration:none}.platform-nav-links a,.platform-login{font-size:13px;font-weight:600}.platform-nav-actions{display:flex;align-items:center;gap:22px}.platform-btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 22px;border-radius:8px;background:#173f42!important;color:#fff!important;text-decoration:none;font-weight:750;font-size:14px;box-shadow:0 7px 18px rgba(18,54,57,.14);transition:transform .2s,box-shadow .2s}.platform-btn:hover{transform:translateY(-2px);box-shadow:0 11px 26px rgba(18,54,57,.21)}.platform-btn-sm{padding:11px 18px;font-size:12px}.platform-home{overflow:hidden;background:#fbfbf7}.platform-hero{min-height:690px;padding:82px max(6vw,30px) 90px;display:grid;grid-template-columns:minmax(400px,.9fr) minmax(500px,1.1fr);align-items:center;gap:5vw;background:radial-gradient(circle at 78% 28%,#eff7c6 0,transparent 27%),linear-gradient(135deg,#fbfbf7 0%,#f4f5ec 100%)}.platform-hero-copy{max-width:620px}.platform-eyebrow,.platform-section-heading>span,.platform-showcase-copy>span,.platform-operator>div>span,.platform-pricing .platform-section-heading>span,.platform-faq>div>span,.platform-final-cta>span{font-size:11px;font-weight:800;letter-spacing:.16em;color:#557173;text-transform:uppercase}.platform-eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:22px}.platform-eyebrow i{width:7px;height:7px;border-radius:50%;background:#b5cf2e;box-shadow:0 0 0 5px #e9f1bd}.platform-hero h1{font-family:'Playfair Display',serif;font-size:clamp(49px,5.4vw,76px);line-height:.99;letter-spacing:-.045em;color:#102d31;margin:0 0 27px;max-width:700px}.platform-hero-copy>p{font-size:18px;line-height:1.7;color:#506669;max-width:570px;margin:0 0 32px}.platform-hero-actions{display:flex;gap:18px;align-items:center}.platform-btn-secondary{display:inline-flex;gap:10px;align-items:center;color:#173f42;text-decoration:none;font-size:14px;font-weight:750}.platform-play{width:35px;height:35px;border:1px solid #aab9b7;border-radius:50%;display:grid;place-items:center;font-size:10px}.platform-trust-row{display:flex;gap:22px;margin-top:25px;color:#607476;font-size:11px;font-weight:650}.platform-trust-row span{white-space:nowrap}.platform-product-stage{position:relative;min-height:510px;display:flex;align-items:center}.platform-orbit{position:absolute;border:1px solid rgba(41,92,87,.12);border-radius:50%;inset:5% 0 0 8%;transform:rotate(-8deg)}.orbit-two{inset:-8% -12% -7% 18%;transform:rotate(15deg)}.platform-dashboard{position:relative;z-index:3;width:100%;max-width:720px;min-height:440px;background:#fff;border:1px solid #dce3df;border-radius:20px;box-shadow:0 32px 75px rgba(26,58,59,.2);display:flex;overflow:hidden;transform:perspective(1200px) rotateY(-4deg) rotateX(1deg)}.pd-sidebar{width:64px;background:#14393c;display:flex;align-items:center;flex-direction:column;gap:27px;padding-top:22px}.pd-mark{width:32px;height:32px;border-radius:9px;background:#dff16f;color:#173f42;display:grid;place-items:center;font-weight:900}.pd-sidebar>span{width:17px;height:6px;border-radius:4px;background:#729092}.pd-sidebar>span.active{height:17px;background:#dff16f}.pd-main{padding:25px 25px 20px;flex:1}.pd-top{display:flex;justify-content:space-between;align-items:center}.pd-top div{display:flex;flex-direction:column;gap:5px}.pd-top small,.pd-kpis small{font-size:8px;letter-spacing:.12em;color:#859496;font-weight:700}.pd-top strong{font-size:15px;color:#15373a}.pd-top>b{width:32px;height:32px;border-radius:50%;background:#e8eddc;display:grid;place-items:center;font-size:9px}.pd-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.pd-kpis article{border:1px solid #e6eae6;border-radius:11px;padding:15px;background:#fbfcf8}.pd-kpis strong{font-size:20px;display:block;margin:5px 0;color:#15373a}.pd-kpis em{font-size:8px;color:#779110;font-style:normal}.pd-content{display:grid;grid-template-columns:1.25fr .85fr;gap:13px}.pd-chart,.pd-courses{border:1px solid #e6eae6;border-radius:11px;padding:15px}.pd-title{display:flex;justify-content:space-between;font-size:9px}.pd-title small{color:#8b9998}.pd-bars{height:135px;display:flex;align-items:flex-end;justify-content:space-around;border-bottom:1px solid #e1e6df;padding-top:20px}.pd-bars i{width:8%;border-radius:5px 5px 0 0;background:#d8e95f}.pd-bars i:nth-child(1){height:36%}.pd-bars i:nth-child(2){height:58%}.pd-bars i:nth-child(3){height:48%}.pd-bars i:nth-child(4){height:78%}.pd-bars i:nth-child(5){height:65%}.pd-bars i:nth-child(6){height:88%}.pd-bars i:nth-child(7){height:73%}.pd-courses>strong{font-size:10px}.pd-courses>div{display:flex;align-items:center;gap:8px;margin-top:17px}.pd-courses i{width:27px;height:27px;border-radius:6px;background:#f2c981}.pd-courses i.c2{background:#9ed9cf}.pd-courses i.c3{background:#c7b5e4}.pd-courses span{font-size:8px;font-weight:700;display:flex;flex-direction:column;gap:3px;flex:1}.pd-courses small{font-size:7px;color:#8b9998;font-weight:500}.pd-courses b{font-size:8px;color:#6f870d}.platform-student-card{position:absolute;z-index:5;right:-25px;bottom:0;width:200px;padding:17px;background:#173f42;color:#fff;border-radius:13px;box-shadow:0 18px 35px rgba(14,44,46,.25);display:flex;flex-direction:column;gap:6px}.platform-student-card>span,.platform-student-card small{font-size:8px;color:#aac1c0}.platform-student-card strong{font-size:11px}.platform-student-card div{height:5px;border-radius:4px;background:#456668;margin-top:5px}.platform-student-card div i{display:block;width:67%;height:100%;border-radius:4px;background:#dff16f}.platform-sale-toast{position:absolute;z-index:6;left:-25px;top:35px;background:#fff;border:1px solid #dfe5df;border-radius:12px;padding:12px 16px;display:flex;gap:10px;align-items:center;box-shadow:0 16px 35px rgba(23,63,66,.16)}.platform-sale-toast>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e8f4aa;color:#536817;font-weight:900}.platform-sale-toast div{display:flex;flex-direction:column;gap:3px}.platform-sale-toast small{font-size:8px;color:#788b8d}.platform-sale-toast strong{font-size:10px}.platform-proof{padding:27px max(6vw,30px);background:#fff;border-top:1px solid #e0e5df;border-bottom:1px solid #e0e5df;text-align:center}.platform-proof p{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#879696;font-weight:700;margin:0 0 18px}.platform-proof div{display:flex;justify-content:center;gap:clamp(25px,5vw,75px);flex-wrap:wrap}.platform-proof span{font-size:12px;font-weight:900;letter-spacing:.13em;color:#658083}.platform-section{padding:110px max(7vw,32px)}.platform-section-heading{text-align:center;max-width:760px;margin:0 auto 58px}.platform-section-heading h2,.platform-showcase h2,.platform-operator h2,.platform-faq h2,.platform-final-cta h2{font-family:'Playfair Display',serif;font-size:clamp(38px,4.5vw,60px);line-height:1.05;letter-spacing:-.035em;color:#133438;margin:15px 0 18px}.platform-section-heading p,.platform-showcase-copy>p,.platform-operator>div>p,.platform-faq>div>p{font-size:16px;line-height:1.7;color:#687b7d}.platform-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1180px;margin:auto}.platform-value-grid article{position:relative;background:#fff;border:1px solid #dfe5df;border-radius:16px;padding:35px;min-height:310px;transition:transform .25s,box-shadow .25s}.platform-value-grid article:hover{transform:translateY(-6px);box-shadow:0 22px 45px rgba(28,63,64,.1)}.platform-value-grid article>b{position:absolute;right:25px;top:24px;font-size:10px;color:#9aa8a8}.platform-feature-icon{width:47px;height:47px;border-radius:12px;background:#eaf3ae;display:grid;place-items:center;color:#183d40;font-size:22px;margin-bottom:30px}.platform-value-grid h3{font-family:'Playfair Display',serif;font-size:26px;color:#17393c;margin:0 0 14px}.platform-value-grid p{color:#6b7c7d;line-height:1.7;font-size:13px}.platform-value-grid a{position:absolute;bottom:30px;color:#305b5d;text-decoration:none;font-weight:750;font-size:12px}.platform-showcase{padding:110px max(7vw,32px);background:#153a3d;color:#fff;display:grid;grid-template-columns:1.12fr .88fr;gap:8vw;align-items:center}.platform-showcase-copy>span{color:#dff16f}.platform-showcase h2{color:#fff}.platform-showcase-copy>p{color:#b9c9c8}.platform-showcase-copy ul{list-style:none;padding:8px 0 0;margin:0}.platform-showcase-copy li{display:flex;gap:14px;padding:14px 0}.platform-showcase-copy li>i{width:25px;height:25px;flex:none;border-radius:50%;background:#dff16f;color:#173f42;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:900}.platform-showcase-copy li div{display:flex;flex-direction:column;gap:4px}.platform-showcase-copy li strong{font-size:13px}.platform-showcase-copy li small{color:#9db2b1;font-size:11px;line-height:1.5}.platform-showcase-visual{min-height:500px;position:relative;display:grid;place-items:center}.platform-course-screen{width:86%;max-width:550px;background:#fafaf5;border-radius:16px;box-shadow:0 30px 60px rgba(0,0,0,.26);overflow:hidden;transform:rotate(-2deg);color:#173b3e}.platform-course-screen header{height:58px;background:#fff;display:flex;align-items:center;padding:0 25px;border-bottom:1px solid #e5e9e3}.platform-course-screen header span{font-weight:900;letter-spacing:.14em;font-size:11px}.platform-course-screen header b{margin-left:auto;font-size:9px;margin-right:18px}.platform-course-screen header i{width:28px;height:28px;border-radius:50%;background:#dce8aa;display:grid;place-items:center;font-size:8px;font-style:normal}.pcs-body{padding:55px 45px 60px;background:linear-gradient(135deg,#f8f7ef,#edf0dd)}.pcs-body>small{font-size:8px;letter-spacing:.17em;color:#6f810f;font-weight:800}.pcs-body h3{font-family:'Playfair Display',serif;font-size:29px;line-height:1.05;margin:13px 0}.pcs-body p{font-size:11px;color:#758384}.pcs-progress{display:flex;align-items:center;gap:12px;margin:30px 0 20px}.pcs-progress>span{height:7px;flex:1;border-radius:5px;background:#d9dfd2}.pcs-progress>span i{display:block;width:67%;height:100%;border-radius:5px;background:#aabc2e}.pcs-progress b{font-size:10px}.pcs-body button{border:0;border-radius:6px;background:#153b3e;color:#fff;padding:12px 18px;font-size:10px}.platform-certificate{position:absolute;right:-2%;bottom:4%;width:190px;background:#fff;color:#173b3e;border-radius:11px;padding:24px;text-align:center;box-shadow:0 20px 40px rgba(0,0,0,.25);transform:rotate(5deg);display:flex;flex-direction:column;gap:7px}.platform-certificate>span{color:#b2c92c;font-size:23px}.platform-certificate small{font-size:7px;letter-spacing:.2em}.platform-certificate strong{font-family:'Playfair Display',serif;font-size:15px}.platform-certificate p{font-size:10px;margin:3px}.platform-certificate i{font-size:7px;color:#6d850d;font-style:normal}.platform-steps{background:#f1f3e9}.platform-step-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 55px 1fr 55px 1fr;align-items:center}.platform-step-grid article{background:#fff;border-radius:15px;border:1px solid #dce3db;padding:32px;min-height:205px}.platform-step-grid article>b{width:33px;height:33px;border-radius:50%;background:#dff16f;display:grid;place-items:center;font-size:12px}.platform-step-grid h3{font-family:'Playfair Display',serif;font-size:23px;color:#173b3e;margin:23px 0 10px}.platform-step-grid p{font-size:12px;color:#718081;line-height:1.65}.platform-step-grid>i{text-align:center;font-style:normal;color:#91a0a0}.platform-operator{padding:110px max(7vw,32px);display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center;background:#fff}.platform-mini-features{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.platform-mini-features span{font-size:11px;font-weight:700;color:#37595b}.po-window{max-width:640px;background:#f8faf7;border:1px solid #dae3dc;border-radius:16px;box-shadow:0 25px 55px rgba(30,67,66,.14);overflow:hidden}.po-window header{height:46px;display:flex;align-items:center;gap:6px;padding:0 17px;background:#173d40;color:#fff}.po-window header i{width:7px;height:7px;border-radius:50%;background:#6f8b8c}.po-window header b{font-size:9px;margin-left:8px}.po-window>nav{display:flex;gap:25px;padding:16px 23px;border-bottom:1px solid #e2e7e1}.po-window>nav span{font-size:8px;color:#829190}.po-window>nav .active{color:#173d40;font-weight:800}.po-window main{display:grid;grid-template-columns:.8fr 1.2fr;gap:15px;padding:20px}.po-kpi,.po-list{background:#fff;border:1px solid #e4e8e3;border-radius:10px;padding:17px}.po-kpi small{font-size:8px;color:#829190}.po-kpi strong{font-size:30px;display:block;margin:13px 0}.po-kpi>span{height:6px;background:#e2e7dc;display:block;border-radius:5px}.po-kpi>span i{width:78%;display:block;height:100%;background:#bed33e;border-radius:5px}.po-list>b{font-size:9px}.po-list p{display:flex;gap:9px;align-items:center;margin:14px 0 0}.po-list p>i{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#eaf1d0;font-size:7px;font-style:normal}.po-list p>span{font-size:8px;display:flex;flex-direction:column;gap:4px}.po-list p small{font-size:7px;color:#8d9998}.platform-pricing{padding:110px max(7vw,32px);background:#eef2e3}.platform-price-card{max-width:900px;margin:auto;display:grid;grid-template-columns:1.3fr .7fr;background:#fff;border-radius:18px;border:1px solid #dce3d8;overflow:hidden;box-shadow:0 24px 50px rgba(35,70,67,.1)}.platform-price-card>div{padding:45px}.platform-price-card>div>span{font-size:9px;letter-spacing:.16em;font-weight:800;color:#78900d}.platform-price-card h3{font-family:'Playfair Display',serif;font-size:31px;color:#15393c;margin:12px 0}.platform-price-card>div>p{font-size:13px;color:#718082}.platform-price-card ul{list-style:none;padding:14px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.platform-price-card li{font-size:11px;color:#496466}.platform-price-card aside{background:#173d40;color:#fff;padding:45px 36px;display:flex;flex-direction:column;justify-content:center}.platform-price-card aside>small{font-size:9px;color:#adc1c0}.platform-price-card aside>strong{font-family:'Playfair Display',serif;font-size:53px;margin:4px 0}.platform-price-card aside>span{font-size:10px;color:#adc1c0;margin-bottom:24px}.platform-price-card aside .platform-btn{background:#dff16f!important;color:#15393c!important}.platform-price-card aside>p{text-align:center;font-size:8px;color:#91a9a8}.platform-faq{padding:110px max(8vw,35px);background:#fff;display:grid;grid-template-columns:.65fr 1.35fr;gap:9vw}.platform-faq>div:last-child{border-top:1px solid #dce3df}.platform-faq details{border-bottom:1px solid #dce3df;padding:21px 0}.platform-faq summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;font-size:13px;font-weight:750;color:#1c4143}.platform-faq summary::-webkit-details-marker{display:none}.platform-faq summary i{font-style:normal;font-size:18px;font-weight:400}.platform-faq details p{font-size:12px;line-height:1.7;color:#728284;max-width:630px}.platform-final-cta{padding:105px 25px;text-align:center;background:#dff16f}.platform-final-cta h2{font-size:clamp(42px,5vw,65px);max-width:780px;margin:15px auto}.platform-final-cta p{color:#4c6666;margin-bottom:27px}.platform-btn-light{background:#173d40!important}.platform-footer{padding:65px max(7vw,32px) 35px;background:#102f32;color:#fff;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;position:relative}.platform-logo-footer{color:#fff}.platform-footer>div:first-child p{font-size:11px;color:#91aaa9;max-width:300px;line-height:1.6;margin-top:20px}.platform-footer>div:not(:first-child){display:flex;flex-direction:column;gap:13px}.platform-footer>div:not(:first-child) strong{font-size:10px;letter-spacing:.1em;color:#dff16f}.platform-footer>div:not(:first-child) a{color:#adc0bf;text-decoration:none;font-size:11px}.platform-footer>small{grid-column:1/-1;padding-top:28px;border-top:1px solid #315153;color:#6f8c8d;font-size:8px}
@media(max-width:1050px){.platform-nav-links{display:none}.platform-hero{grid-template-columns:1fr;padding-top:65px}.platform-hero-copy{max-width:760px}.platform-product-stage{max-width:760px;width:94%;margin:30px auto 0}.platform-showcase,.platform-operator{grid-template-columns:1fr}.platform-showcase-copy{max-width:680px}.platform-faq{grid-template-columns:1fr}.platform-step-grid{grid-template-columns:1fr 35px 1fr 35px 1fr}.platform-student-card{right:-10px}.platform-sale-toast{left:-10px}}
@media(max-width:720px){.platform-announcement{font-size:9px}.platform-nav{height:65px;padding:0 16px}.platform-logo{grid-template-columns:32px auto}.platform-logo>span{width:32px;height:32px}.platform-logo strong{font-size:12px}.platform-logo small{font-size:7px}.platform-login,.platform-nav .platform-btn-sm{display:none}.platform-hero{padding:54px 20px 70px;display:block;min-height:0}.platform-hero h1{font-size:46px}.platform-hero-copy>p{font-size:15px}.platform-hero-actions{align-items:stretch;flex-direction:column}.platform-btn-secondary{justify-content:center}.platform-trust-row{gap:9px;flex-wrap:wrap}.platform-product-stage{min-height:340px;margin-top:50px;width:100%}.platform-dashboard{min-height:300px;transform:none}.pd-sidebar{width:40px;gap:18px}.pd-main{padding:15px}.pd-kpis{gap:5px;margin:14px 0}.pd-kpis article{padding:8px}.pd-kpis strong{font-size:13px}.pd-content{grid-template-columns:1fr}.pd-courses{display:none}.pd-chart{padding:10px}.pd-bars{height:82px}.platform-sale-toast{top:-25px;left:-8px}.platform-student-card{bottom:-20px;right:-8px;width:170px}.platform-proof div{gap:18px}.platform-section,.platform-showcase,.platform-operator,.platform-pricing,.platform-faq{padding:75px 20px}.platform-value-grid{grid-template-columns:1fr}.platform-showcase{display:flex;flex-direction:column-reverse}.platform-showcase-visual{min-height:390px;width:100%}.platform-course-screen{width:100%}.pcs-body{padding:35px 25px 45px}.platform-certificate{width:150px;right:-5%;bottom:0}.platform-step-grid{grid-template-columns:1fr}.platform-step-grid>i{transform:rotate(90deg);padding:8px}.platform-mini-features{grid-template-columns:1fr}.po-window main{grid-template-columns:1fr}.platform-price-card{grid-template-columns:1fr}.platform-price-card>div,.platform-price-card aside{padding:32px 25px}.platform-price-card ul{grid-template-columns:1fr}.platform-footer{grid-template-columns:1fr 1fr}.platform-footer>div:first-child{grid-column:1/-1}.platform-section-heading h2,.platform-showcase h2,.platform-operator h2,.platform-faq h2,.platform-final-cta h2{font-size:38px}}

/* Paleta institucional ALENCASTRO: crema como base, negro y dorado en contraste */
.platform-body{background:#f7f2e8;color:#171511}.platform-home{background:#fbf8f1}.platform-announcement{background:#0a0a09;color:#d8b64c}.platform-nav{background:rgba(255,252,245,.95);border-color:#e4dac4}.platform-logo,.platform-nav a,.platform-login{color:#171511}.platform-logo>span{background:#d8b64c;color:#0b0b0a}.platform-logo small{color:#8c7540}.platform-btn{background:#d8b64c!important;color:#11100d!important;box-shadow:0 8px 20px rgba(88,67,17,.17)}.platform-btn:hover{box-shadow:0 12px 28px rgba(88,67,17,.25)}.platform-hero{background:radial-gradient(circle at 78% 28%,rgba(216,182,76,.19) 0,transparent 29%),linear-gradient(135deg,#fffdf8 0%,#f4ecdc 100%)}.platform-eyebrow,.platform-section-heading>span,.platform-showcase-copy>span,.platform-operator>div>span,.platform-pricing .platform-section-heading>span,.platform-faq>div>span,.platform-final-cta>span{color:#9a7620}.platform-eyebrow i{background:#d8b64c;box-shadow:0 0 0 5px #f2e6bd}.platform-hero h1,.platform-section-heading h2,.platform-operator h2,.platform-faq h2,.platform-final-cta h2{color:#171511}.platform-hero-copy>p,.platform-section-heading p,.platform-operator>div>p,.platform-faq>div>p{color:#6f675a}.platform-btn-secondary{color:#171511}.platform-play{border-color:#b9a989}.platform-trust-row{color:#766c5c}.platform-orbit{border-color:rgba(160,122,31,.18)}.platform-dashboard{border-color:#e4dac6;box-shadow:0 32px 75px rgba(54,43,21,.2)}.pd-sidebar{background:#11110f}.pd-mark{background:#d8b64c;color:#111}.pd-sidebar>span{background:#6f685a}.pd-sidebar>span.active{background:#d8b64c}.pd-top strong,.pd-kpis strong{color:#171511}.pd-top>b{background:#f0e7d5}.pd-kpis article,.pd-chart,.pd-courses{border-color:#e8deca;background:#fffdf8}.pd-kpis em{color:#a37c1e}.pd-bars i{background:#d8b64c}.pd-courses i.c1{background:#d8b64c}.pd-courses i.c2{background:#bfaa72}.pd-courses i.c3{background:#ead8a3}.pd-courses b{color:#9b7417}.platform-student-card{background:#11110f}.platform-student-card div{background:#4c473e}.platform-student-card div i{background:#d8b64c}.platform-sale-toast{border-color:#e7ddc8}.platform-sale-toast>span{background:#f3e6ba;color:#7a5a10}.platform-proof{background:#fffdf8;border-color:#e7ddca}.platform-proof span{color:#8a7440}.platform-intro{background:#fbf8f1}.platform-value-grid article{background:#fffdf8;border-color:#e6dcc7}.platform-value-grid article:hover{box-shadow:0 22px 45px rgba(63,49,19,.1)}.platform-feature-icon{background:#f1dfaa;color:#171511}.platform-value-grid h3{color:#171511}.platform-value-grid p{color:#71695d}.platform-value-grid a{color:#8c6917}.platform-showcase{background:#0c0c0b}.platform-showcase-copy>span{color:#d8b64c}.platform-showcase h2{color:#fffaf0}.platform-showcase-copy>p{color:#c7c0b3}.platform-showcase-copy li>i{background:#d8b64c;color:#111}.platform-showcase-copy li small{color:#a9a296}.platform-course-screen{color:#171511;background:#faf5e9}.pcs-body{background:linear-gradient(135deg,#fffaf0,#eee2c8)}.pcs-body>small{color:#99731d}.pcs-progress>span{background:#ded4bf}.pcs-progress>span i{background:#d8b64c}.pcs-body button{background:#11110f}.platform-certificate{color:#171511}.platform-certificate>span{color:#d1a936}.platform-certificate i{color:#947018}.platform-steps{background:#f1eadc}.platform-step-grid article{background:#fffdf8;border-color:#e4d9c3}.platform-step-grid article>b{background:#d8b64c;color:#111}.platform-step-grid h3{color:#171511}.platform-operator{background:#fffdf8}.platform-mini-features span{color:#564c3d}.po-window{background:#f7f2e8;border-color:#e1d6bf;box-shadow:0 25px 55px rgba(58,44,16,.14)}.po-window header{background:#11110f}.po-window header i{background:#756c5c}.po-window>nav .active{color:#171511}.po-kpi>span i{background:#d8b64c}.po-list p>i{background:#f0e2b5}.platform-pricing{background:#f0e8d8}.platform-price-card{border-color:#dfd3ba;box-shadow:0 24px 50px rgba(59,44,14,.1)}.platform-price-card>div>span{color:#9b7417}.platform-price-card h3{color:#171511}.platform-price-card aside{background:#11110f}.platform-price-card aside .platform-btn{background:#d8b64c!important;color:#111!important}.platform-faq{background:#fffdf8}.platform-faq details{border-color:#e3d8c1}.platform-faq summary{color:#1b1812}.platform-final-cta{background:#d8b64c}.platform-final-cta>span{color:#5c4510}.platform-final-cta p{color:#4f3c13}.platform-btn-light{background:#11110f!important;color:#fffaf0!important}.platform-footer{background:#090909}.platform-logo-footer{color:#fffaf0}.platform-footer>div:not(:first-child) strong{color:#d8b64c}.platform-footer>div:not(:first-child) a,.platform-footer>div:first-child p{color:#aaa397}.platform-footer>small{border-color:#2e2b25;color:#777168}
