
/* Layout: sitio institucional claro, columnas sobrias sobre marfil; azul petróleo como banda institucional, coral solo para acciones. Tema único claro a propósito (refleja el sitio real). */
:root {
  --petroleo: #012C3D;
  --coral: #F15946;
  --coral-hover: #D9442F;
  --celeste: #4FC4E8;
  --marfil: #F5F5F0;
  --gris-azulado: #2C3E50;
  --blanco: #FFFFFF;
  --linea: #DCE1DE;
  --texto-suave: #4A5A68;
  --font-titulo: "Inter", "Helvetica Neue", Arial, sans-serif;
  --font-texto: "Karla", "Helvetica Neue", Arial, sans-serif;
  --ancho: 1120px;
  --radio: 16px;
  --noche: #001C28;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
body { background: var(--marfil); color: var(--gris-azulado); font-family: var(--font-texto); font-size: 1.0625rem; line-height: 1.65; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 10; background: var(--noche); }
h1, h2, h3, h4 { font-family: var(--font-titulo); color: var(--petroleo); line-height: 1.15; text-wrap: balance; margin: 0; letter-spacing: -0.015em; }
h1 { font-size: clamp(2rem, 4.6vw, 3.25rem); font-weight: 800; }
h2 { font-size: clamp(1.9rem, 3.8vw, 2.9rem); font-weight: 800; letter-spacing: -0.025em; }
h3 { font-size: 1.2rem; font-weight: 700; }
p { margin: 0; max-width: 65ch; }
a { color: var(--petroleo); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--celeste); outline-offset: 2px; }
.wrap { max-width: var(--ancho); margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.eyebrow { font-family: var(--font-titulo); font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--coral); }

/* Aviso de prototipo */
.proto { background: var(--petroleo); color: var(--marfil); font-size: .85rem; }
.proto .wrap { padding-block: 6px; display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; text-align: center; }
.proto strong { color: var(--celeste); }

/* Header */
.site-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: var(--noche); border-bottom: 1px solid rgba(255,255,255,.08); }
.nav-cta { margin-left: 8px; }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 12px; }
.logo { display: inline-flex; align-items: center; }
.logo img { height: 52px; width: auto; display: block; }
.nav { display: flex; gap: 4px; align-items: center; }
.nav a { font-family: var(--font-titulo); font-weight: 600; font-size: .95rem; text-decoration: none; color: #DCE7EC; padding: 8px 12px; border-radius: 6px; }
.nav a:hover { background: rgba(255,255,255,.08); color: #fff; }
.nav a.btn { color: #fff; padding: 10px 20px; border-radius: 999px; }
.nav a.btn:hover { background: var(--coral-hover); }
.nav a[aria-current="page"], .nav-drop[aria-current] { color: var(--coral); }
.menu-btn { display: none; background: none; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: 8px 16px; font: 600 .95rem var(--font-titulo); color: var(--marfil); cursor: pointer; }
@media (max-width: 1120px) {
  .menu-btn { display: inline-block; }
  .nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--noche); border-bottom: 1px solid rgba(255,255,255,.08); flex-direction: column; align-items: stretch; padding: 8px max(16px, env(safe-area-inset-right, 0px)) 16px max(16px, env(safe-area-inset-left, 0px)); }
  .nav.open { display: flex; }
  .nav a { padding: 12px; }
  .nav-cta { margin: 8px 0 0; justify-content: center; }
}

/* Botones */
.btns { display: flex; gap: 12px; flex-wrap: wrap; }
.btn { display: inline-flex; align-items: center; gap: 8px; font: 600 1rem var(--font-titulo); text-decoration: none; padding: 14px 26px; border-radius: 999px; border: 2px solid transparent; cursor: pointer; transition: background .15s, color .15s; }
.btn-primario { background: var(--coral); color: var(--blanco); box-shadow: 0 8px 24px rgba(241,89,70,.35); }
.btn-primario:hover { background: var(--coral-hover); }
.btn-secundario { background: transparent; color: var(--petroleo); border-color: var(--petroleo); }
.btn-secundario:hover { background: var(--petroleo); color: var(--blanco); }
.btn-claro { background: var(--marfil); color: var(--petroleo); }
.btn-claro:hover { background: var(--blanco); }
.link-flecha { font: 600 .95rem var(--font-titulo); color: var(--petroleo); text-decoration: none; border-bottom: 2px solid var(--celeste); padding-bottom: 2px; }
.link-flecha:hover { color: var(--coral); border-color: var(--coral); }

/* Secciones */
section { padding-block: clamp(56px, 8vw, 96px); }
.sec-blanca { background: var(--blanco); }
.sec-petroleo { background: var(--petroleo); color: #D7E2E7; }
.sec-petroleo h2, .sec-petroleo h3 { color: var(--marfil); }
.sec-petroleo .eyebrow { color: var(--celeste); }
.sec-head { display: grid; gap: 14px; margin-bottom: 40px; }

/* Hero oscuro (inspirado en Luzzi, con la paleta ST) */
.hero { background: radial-gradient(ellipse 60% 70% at 78% 45%, rgba(79,196,232,.16), transparent 70%), linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 56px 56px, linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 56px 56px, var(--noche); color: #C9D6DC; padding-block: clamp(48px, 8vw, 96px) clamp(48px, 7vw, 80px); overflow: hidden; }
.hero .wrap { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.hero-txt { display: grid; gap: 22px; }
.hero h1 { color: #fff; font-size: clamp(2.3rem, 5.4vw, 4rem); letter-spacing: -0.03em; line-height: 1.05; }
.hero h1 em { font-style: normal; color: var(--celeste); }
.hero .eyebrow { color: #C9D6DC; display: inline-flex; align-items: center; gap: 10px; letter-spacing: .18em; }
.hero .eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 10px var(--coral); }
.hero-txt p { font-size: 1.15rem; color: #B7C7CF; }
.hero-txt p strong { color: #fff; }
.btn-fantasma { background: rgba(255,255,255,.04); color: #fff; border-color: rgba(255,255,255,.22); }
.btn-fantasma:hover { background: rgba(255,255,255,.1); }
.hero-visual { position: relative; aspect-ratio: 1; max-width: 460px; width: 100%; justify-self: center; }
.hero-visual .aro { position: absolute; inset: 6%; border-radius: 50%; border: 1px dashed rgba(79,196,232,.35); }
.hero-visual .foto { position: absolute; inset: 14% 14% 0; border-radius: 50% 50% var(--radio) var(--radio); background: linear-gradient(180deg, rgba(79,196,232,.25), rgba(1,44,61,.9)); border: 1px solid rgba(255,255,255,.12); display: grid; place-items: center; text-align: center; color: #C9D6DC; font-size: .95rem; padding: 24px; }
.chip { position: absolute; display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--petroleo); font: 700 .85rem var(--font-titulo); padding: 9px 14px; border-radius: 12px; box-shadow: 0 10px 26px rgba(0,0,0,.3); white-space: nowrap; }
.chip i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.chip.c1 { top: 10%; left: 0; } .chip.c1 i { background: var(--coral); }
.chip.c2 { top: 30%; right: -2%; } .chip.c2 i { background: var(--celeste); }
.chip.c3 { bottom: 26%; left: -4%; } .chip.c3 i { background: var(--petroleo); }
.chip.c4 { bottom: 8%; right: 2%; } .chip.c4 i { background: var(--coral); }
@media (max-width: 860px) { .hero .wrap { grid-template-columns: 1fr; } .hero-visual { max-width: 320px; } .chip.c3 { left: 0; } .chip.c2 { right: 0; } }

/* Banda de temas en movimiento */
.temas { background: var(--petroleo); border-block: 1px solid rgba(79,196,232,.2); overflow: hidden; padding-block: 18px; }
.temas-pista { display: flex; gap: 28px; width: max-content; animation: deslizar 45s linear infinite; font: 700 clamp(1rem, 1.8vw, 1.3rem) var(--font-titulo); color: #DCE7EC; }
.temas-pista span::after { content: "•"; color: var(--coral); margin-left: 28px; }
@keyframes deslizar { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .temas-pista { animation: none; flex-wrap: wrap; width: auto; justify-content: center; padding-inline: 16px; } }

/* Cifras (solo datos verificables) */
.cifras { background: var(--noche); padding-block: clamp(40px, 6vw, 64px); }
.cifras .wrap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; text-align: center; }
.cifra b { display: block; font: 800 clamp(2.4rem, 5vw, 3.4rem) var(--font-titulo); color: var(--celeste); letter-spacing: -0.03em; line-height: 1.1; }
.cifra span { color: #B7C7CF; font-size: .98rem; }
@media (max-width: 640px) { .cifras .wrap { grid-template-columns: 1fr; } }

/* Grillas */
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 980px) { .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .grid-2, .grid-4 { grid-template-columns: 1fr; } }

.servicio { background: var(--blanco); border: 1px solid transparent; border-radius: var(--radio); box-shadow: 0 12px 32px rgba(1,44,61,.08); padding: 28px 24px; display: grid; gap: 12px; align-content: start; }
.servicio .icono { width: 52px; height: 52px; border-radius: 12px; display: grid; place-items: center; background: var(--petroleo); color: var(--celeste); }
.servicio .icono svg { width: 22px; height: 22px; }
.servicio p { color: var(--texto-suave); font-size: 1rem; }
.servicio .link-flecha { justify-self: start; margin-top: 4px; }

.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 56px; align-items: center; }
@media (max-width: 860px) { .split { grid-template-columns: 1fr; gap: 32px; } }
.foto-pendiente { aspect-ratio: 4 / 5; max-width: 100%; border-radius: var(--radio); background: repeating-linear-gradient(135deg, #E9ECE8 0 12px, #F1F3EF 12px 24px); border: 1px dashed #B9C2C0; display: grid; place-items: center; text-align: center; padding: 24px; color: var(--texto-suave); font-size: .95rem; }
.txt-stack { display: grid; gap: 18px; }

.recursos { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; align-items: center; }
@media (max-width: 860px) { .recursos { grid-template-columns: 1fr; } }
.recursos-lista { display: grid; gap: 12px; }
.recursos-lista div { border: 1px solid rgba(215,226,231,.25); border-radius: 8px; padding: 16px 18px; display: grid; gap: 2px; }
.recursos-lista strong { font-family: var(--font-titulo); color: var(--marfil); }
.recursos-lista span { font-size: .95rem; }
.curso { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0; box-shadow: 0 16px 40px rgba(1,44,61,.12); border: 1px solid transparent; border-radius: var(--radio); overflow: hidden; background: var(--blanco); }
@media (max-width: 860px) { .curso { grid-template-columns: 1fr; } }
.curso-info { padding: clamp(24px, 4vw, 44px); display: grid; gap: 16px; align-content: start; }
.curso-badge { justify-self: start; font: 600 .78rem var(--font-titulo); letter-spacing: .08em; text-transform: uppercase; background: var(--coral); color: var(--blanco); padding: 5px 10px; border-radius: 999px; }
.curso-info p { color: var(--texto-suave); }
.curso-datos { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: .95rem; color: var(--petroleo); }
.curso-datos span { font-weight: 700; }
.temario { background: var(--petroleo); color: #D7E2E7; padding: clamp(24px, 4vw, 44px); display: grid; gap: 12px; align-content: start; }
.temario h3 { color: var(--marfil); font-size: 1rem; }
.temario ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.temario li { display: grid; grid-template-columns: 2.2em minmax(0, 1fr); gap: 8px; font-size: .97rem; border-bottom: 1px solid rgba(215,226,231,.15); padding-bottom: 8px; }
.temario li b { font-family: var(--font-titulo); color: var(--celeste); font-variant-numeric: tabular-nums; }
.guia-gratis { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; justify-content: space-between; border: 1px dashed var(--celeste); border-radius: var(--radio); padding: 20px 24px; background: #EEF9FD; }
.guia-gratis div { display: grid; gap: 4px; min-width: 0; flex: 1 1 320px; }
.guia-gratis strong { font-family: var(--font-titulo); color: var(--petroleo); }

.pendiente { border: 1px dashed #B9C2C0; border-radius: var(--radio); background: var(--blanco); padding: 28px 24px; display: grid; gap: 8px; color: var(--texto-suave); }
.pendiente strong { color: var(--petroleo); font-family: var(--font-titulo); }

.cta-final { text-align: left; }
.cta-final .wrap { display: grid; gap: 20px; justify-items: start; }

/* Páginas internas */
.page-head { padding-block: clamp(48px, 7vw, 88px) clamp(32px, 5vw, 56px); border-bottom: 1px solid var(--linea); }
.page-head .wrap { display: grid; gap: 16px; }
.page-head p { font-size: 1.15rem; color: var(--texto-suave); }

.principios { counter-reset: p; }
.principio { border-top: 2px solid var(--petroleo); padding-top: 18px; display: grid; gap: 8px; }
.principio p { color: var(--texto-suave); font-size: 1rem; }

.serv-detalle { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 40px; padding-block: 40px; border-top: 1px solid var(--linea); }
.serv-detalle:first-child { border-top: 0; padding-top: 0; }
@media (max-width: 760px) { .serv-detalle { grid-template-columns: 1fr; gap: 16px; } }
.serv-detalle ul { margin: 12px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.serv-detalle li { padding-left: 22px; position: relative; }
.serv-detalle li::before { content: ""; position: absolute; left: 0; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--celeste); }
.serv-detalle .para { font-size: .95rem; color: var(--texto-suave); margin-top: 8px; }

/* Formulario */
.form-box { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio); padding: clamp(20px, 4vw, 36px); display: grid; gap: 18px; }
.campo { display: grid; gap: 6px; }
.campo label { font: 600 .92rem var(--font-titulo); color: var(--petroleo); }
.campo .opc { font-weight: 500; color: var(--texto-suave); }
.campo input, .campo select, .campo textarea { font: inherit; font-size: 1rem; padding: 12px 14px; border: 1px solid #C5CDCB; border-radius: 8px; background: var(--blanco); color: var(--gris-azulado); width: 100%; }
.campo textarea { min-height: 130px; resize: vertical; }
.campo .error { color: #B3261E; font-size: .88rem; min-height: 0; }
.campo.invalido input, .campo.invalido select, .campo.invalido textarea { border-color: #B3261E; }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: .95rem; }
.check input { margin-top: 5px; width: 18px; height: 18px; flex: none; }
.form-ok { border: 1px solid var(--celeste); background: #EEF9FD; border-radius: var(--radio); padding: 20px; display: grid; gap: 12px; }
.form-ok pre { white-space: pre-wrap; font-family: var(--font-texto); margin: 0; font-size: .95rem; background: var(--blanco); border-radius: 6px; padding: 12px; border: 1px solid var(--linea); }
.nota { font-size: .88rem; color: var(--texto-suave); }

/* Prensa */
.filtros { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
.filtro { font: 600 .9rem var(--font-titulo); border: 1px solid var(--petroleo); background: transparent; color: var(--petroleo); padding: 8px 14px; border-radius: 999px; cursor: pointer; }
.filtro[aria-pressed="true"] { background: var(--petroleo); color: var(--marfil); }
.ficha-campos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 8px; }
.ficha-campos span { font-size: .9rem; background: var(--marfil); padding: 8px 10px; border-radius: 6px; }
@media (max-width: 640px) { .ficha-campos { grid-template-columns: 1fr 1fr; } }

/* Contacto */
.contacto-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 48px; align-items: start; }
@media (max-width: 860px) { .contacto-grid { grid-template-columns: 1fr; } }
.datos { display: grid; gap: 18px; }
.dato { display: grid; gap: 2px; border-bottom: 1px solid var(--linea); padding-bottom: 14px; }
.dato .k { font: 600 .78rem var(--font-titulo); letter-spacing: .1em; text-transform: uppercase; color: var(--texto-suave); }
.dato .v { font-size: 1.05rem; color: var(--petroleo); word-break: break-word; }
.dato .fila { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.copiar { font: 600 .8rem var(--font-titulo); border: 1px solid var(--linea); background: var(--marfil); border-radius: 6px; padding: 4px 10px; cursor: pointer; color: var(--petroleo); }


/* ===== v4: piezas tomadas de las referencias ===== */
.temas { padding-block: 14px; display: grid; gap: 10px; }
.temas-pista.inversa { animation-direction: reverse; color: rgba(220,231,236,.45); }
.temas-pista.inversa span::after { color: var(--celeste); }

.destacado { background: radial-gradient(ellipse 50% 80% at 85% 20%, rgba(79,196,232,.18), transparent 70%), var(--petroleo); color: #C9D6DC; border-radius: 24px; padding: clamp(28px, 5vw, 56px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 40px; align-items: center; position: relative; }
@media (max-width: 860px) { .destacado { grid-template-columns: 1fr; } }
.destacado h2 { color: #fff; }
.destacado h2 em { font-style: normal; color: var(--celeste); }
.destacado .eyebrow { color: #C9D6DC; display: inline-flex; gap: 10px; align-items: center; }
.destacado .eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--coral); }
.destacado-badge { position: absolute; top: -14px; right: 24px; background: var(--coral); color: #fff; font: 700 .8rem var(--font-titulo); letter-spacing: .06em; text-transform: uppercase; padding: 8px 14px; border-radius: 999px; box-shadow: 0 8px 20px rgba(241,89,70,.35); }
.sellos { display: flex; flex-wrap: wrap; gap: 8px; }
.sello { font: 600 .78rem var(--font-titulo); letter-spacing: .08em; text-transform: uppercase; color: #DCE7EC; border: 1px solid rgba(220,231,236,.3); border-radius: 999px; padding: 6px 12px; }
.mini-cifras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.mini-cifra { background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 16px 18px; display: grid; gap: 2px; }
.mini-cifra b { font: 800 1.9rem var(--font-titulo); color: #fff; letter-spacing: -0.02em; line-height: 1.1; }
.mini-cifra span { font-size: .92rem; }
.destacado-txt { display: grid; gap: 18px; }

.herr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 760px) { .herr-grid { grid-template-columns: 1fr; } }
.herr { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; align-items: start; background: rgba(255,255,255,.04); border: 1px solid rgba(79,196,232,.22); border-radius: var(--radio); padding: 20px; text-decoration: none; color: #C9D6DC; transition: border-color .15s, background .15s; }
.herr:hover { border-color: var(--celeste); background: rgba(255,255,255,.07); }
.herr .icono { width: 52px; height: 52px; border-radius: 12px; background: rgba(79,196,232,.12); color: var(--celeste); display: grid; place-items: center; }
.herr .icono svg { width: 24px; height: 24px; }
.herr strong { font-family: var(--font-titulo); color: #fff; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.badge-gratis { font: 700 .68rem var(--font-titulo); letter-spacing: .08em; text-transform: uppercase; color: #7FE0A8; border: 1px solid rgba(127,224,168,.45); border-radius: 6px; padding: 2px 7px; }
.herr-cabecera { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; font: 700 .8rem var(--font-titulo); letter-spacing: .14em; text-transform: uppercase; color: #fff; }
.herr-cabecera::after { content: ""; flex: 1; height: 1px; background: rgba(220,231,236,.15); }

/* Footer en columnas */
.foot-cols { grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); }
.site-footer h4 { font: 700 .75rem var(--font-titulo); letter-spacing: .14em; text-transform: uppercase; color: var(--celeste); }
@media (max-width: 860px) { .foot-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } .foot-cols > :first-child { grid-column: 1 / -1; } }

/* ===== Landing Dominando Claude ===== */
.lp { background: var(--noche); color: #D6D4CC; }
.lp h1, .lp h2, .lp h3 { color: #fff; }
.lp h1 em, .lp h2 em { font-style: normal; color: var(--celeste); }
.lp section { padding-block: clamp(56px, 8vw, 96px); }
.lp .eyebrow { color: var(--coral); }
.lp-borde { border-top: 1px solid rgba(255,255,255,.07); }
.pastilla { justify-self: start; display: inline-flex; align-items: center; gap: 8px; font: 700 .78rem var(--font-titulo); letter-spacing: .1em; text-transform: uppercase; color: #F3C9B8; background: rgba(217,119,87,.14); border: 1px solid rgba(217,119,87,.45); padding: 7px 14px; border-radius: 999px; }
.pastilla::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--coral); }
.centro { text-align: center; justify-items: center; }
.centro p { margin-inline: auto; }
.lp-hero { background: radial-gradient(ellipse 55% 70% at 80% 40%, rgba(217,119,87,.14), transparent 70%), linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px) 0 0 / 56px 56px, linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px) 0 0 / 56px 56px, var(--noche); }
.lp-hero .wrap { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; align-items: center; }
@media (max-width: 900px) { .lp-hero .wrap { grid-template-columns: 1fr; } }
.lp-hero h1 { font-size: clamp(2.3rem, 5.4vw, 4.1rem); letter-spacing: -0.03em; line-height: 1.04; }
.cursor { display: inline-block; width: 3px; height: .9em; background: var(--celeste); vertical-align: -0.08em; margin-left: 4px; animation: titila 1s steps(1) infinite; }
@keyframes titila { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .cursor { animation: none; } }
.lp-hero-txt { display: grid; gap: 20px; }
.lp-hero-txt p { font-size: 1.12rem; color: #BDBAB1; }
.chat { background: #1F1E1D; border: 1px solid rgba(255,255,255,.1); border-radius: 20px; box-shadow: 0 30px 60px rgba(0,0,0,.4); overflow: hidden; position: relative; }
.chat-barra { display: flex; align-items: center; gap: 6px; padding: 12px 16px; border-bottom: 1px solid rgba(255,255,255,.07); font-size: .85rem; color: #A3A19B; }
.chat-barra i { width: 10px; height: 10px; border-radius: 50%; background: #4A4945; display: inline-block; }
.chat-barra span { margin-left: 8px; }
.chat-cuerpo { padding: 18px; display: grid; gap: 14px; }
.msg-yo { justify-self: end; max-width: 85%; background: rgba(255,255,255,.08); color: #fff; border-radius: 14px 14px 4px 14px; padding: 12px 14px; font-size: .95rem; }
.msg-ia { max-width: 95%; background: rgba(217,119,87,.08); border: 1px solid rgba(217,119,87,.3); border-radius: 14px 14px 14px 4px; padding: 14px; font-size: .95rem; color: #E8E6DD; display: grid; gap: 10px; }
.msg-ia .quien { font: 700 .75rem var(--font-titulo); letter-spacing: .1em; text-transform: uppercase; color: var(--celeste); }
.msg-ia b { color: #fff; }
.msg-datos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.msg-datos div { background: rgba(0,0,0,.25); border-radius: 10px; padding: 8px 10px; font-size: .78rem; color: #A3A19B; }
.msg-datos strong { display: block; color: #fff; font: 700 1.05rem var(--font-titulo); }
.chat-nota { font-size: .78rem; color: #8F8C84; text-align: center; padding: 0 16px 14px; }
.lp-chip { position: absolute; background: var(--noche); border: 1px solid rgba(255,255,255,.14); color: #fff; font: 700 .82rem var(--font-titulo); padding: 8px 12px; border-radius: 12px; box-shadow: 0 10px 24px rgba(0,0,0,.35); }
.lp-hero-visual { position: relative; padding: 18px 10px; }
.lp-hero-visual .k1 { top: 0; left: 0; } .lp-hero-visual .k2 { bottom: 4px; right: 0; }
.conectores { padding-block: 32px !important; text-align: center; }
.conectores p { margin: 0 auto 16px; font: 600 .8rem var(--font-titulo); letter-spacing: .14em; text-transform: uppercase; color: #A3A19B; }
.pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.pill { border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 10px 18px; font: 700 .95rem var(--font-titulo); color: #fff; background: rgba(255,255,255,.03); }
.tabs { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 4px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 6px; margin: 28px auto 32px; }
.tab { font: 700 .95rem var(--font-titulo); color: #BDBAB1; background: none; border: 0; border-radius: 12px; padding: 11px 20px; cursor: pointer; }
.tab[aria-selected="true"] { background: var(--coral); color: #fff; box-shadow: 0 8px 20px rgba(217,119,87,.35); }
.panel { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 24px; padding: clamp(24px, 4vw, 44px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; text-align: left; }
@media (max-width: 860px) { .panel { grid-template-columns: 1fr; } }
.panel h3 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.panel h3 em { font-style: normal; color: var(--celeste); }
.ticks { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.ticks li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; color: #E8E6DD; }
.ticks li::before { content: "✓"; width: 22px; height: 22px; border-radius: 6px; background: rgba(217,119,87,.18); color: var(--coral); display: grid; place-items: center; font-size: .8rem; font-weight: 700; }
.ficha { background: #1F1E1D; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; padding: 22px; display: grid; gap: 14px; min-height: 220px; align-content: end; background-image: radial-gradient(circle at 50% 30%, rgba(217,119,87,.18), transparent 60%); }
.ficha .grande { font: 800 2.4rem var(--font-titulo); color: #fff; text-align: center; letter-spacing: -0.02em; }
.ficha pre { margin: 0; background: rgba(0,0,0,.35); border-radius: 10px; padding: 12px 14px; font: .85rem/1.6 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; color: #E8E6DD; white-space: pre-wrap; }
.ficha pre b { color: var(--coral); font-weight: 600; }
.duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
@media (max-width: 860px) { .duo { grid-template-columns: 1fr; } }
.duo-txt { display: grid; gap: 18px; }
.cifras-lp { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cifra-lp { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 18px; padding: 22px; display: grid; gap: 4px; }
.cifra-lp b { font: 800 clamp(2rem, 4vw, 2.8rem) var(--font-titulo); color: var(--coral); letter-spacing: -0.02em; line-height: 1.05; }
.cifra-lp span { font-size: .95rem; }
.para-quien { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 760px) { .para-quien { grid-template-columns: 1fr; } }
.para-quien > div { border-radius: 20px; padding: 26px; display: grid; gap: 8px; align-content: start; }
.si { background: rgba(217,119,87,.08); border: 1px solid rgba(217,119,87,.3); }
.no { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.1); }
.para-quien ul { margin: 6px 0 0; padding-left: 20px; display: grid; gap: 8px; }
.temario-lp { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 900px) { .temario-lp { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .temario-lp { grid-template-columns: 1fr; } }
.temario-lp li { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 18px 20px; display: grid; gap: 6px; }
.temario-lp .n { font: 700 .75rem var(--font-titulo); letter-spacing: .12em; text-transform: uppercase; color: var(--celeste); }
.temario-lp strong { font-family: var(--font-titulo); color: #fff; font-size: 1.05rem; }
.temario-lp span:last-child { font-size: .92rem; }
.temario-lp .extra { border-color: rgba(217,119,87,.45); }
.certificado { background: linear-gradient(160deg, #262624, #141413); border: 1px solid rgba(255,255,255,.14); border-radius: 22px; padding: clamp(24px, 4vw, 36px); display: grid; gap: 14px; position: relative; box-shadow: 0 30px 60px rgba(0,0,0,.4), 0 0 80px rgba(217,119,87,.12); }
.certificado img { height: 38px; width: auto; }
.certificado .tipo { font: 700 .75rem var(--font-titulo); letter-spacing: .14em; text-transform: uppercase; color: var(--coral); }
.certificado .curso-n { font: 800 clamp(1.4rem, 3vw, 2rem) var(--font-titulo); color: #fff; letter-spacing: -0.02em; }
.certificado .nombre { font-size: 1.3rem; color: #A3A19B; border-bottom: 1px dashed rgba(255,255,255,.3); padding-bottom: 6px; justify-self: start; }
.certificado .pie { font-size: .85rem; color: #A3A19B; }
.certificado .sello-c { position: absolute; right: 22px; bottom: 22px; width: 74px; height: 74px; border-radius: 50%; background: var(--coral); color: #fff; display: grid; place-items: center; text-align: center; font: 800 .62rem/1.15 var(--font-titulo); letter-spacing: .06em; text-transform: uppercase; transform: rotate(-12deg); }
.docente { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 32px; align-items: center; }
@media (max-width: 700px) { .docente { grid-template-columns: 1fr; } }
.docente .foto-pendiente { aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.2); color: #A3A19B; max-width: 200px; }
.precio-box { border-radius: 24px; padding: clamp(28px, 5vw, 52px); background: radial-gradient(ellipse 60% 80% at 50% 0%, rgba(217,119,87,.18), transparent 70%), var(--petroleo); border: 1px solid rgba(255,255,255,.1); display: grid; gap: 18px; justify-items: center; text-align: center; }
.precio-box .fecha { font: 800 clamp(2.4rem, 6vw, 4rem) var(--font-titulo); color: #fff; letter-spacing: -0.03em; line-height: 1; }
.faq { display: grid; gap: 10px; max-width: 820px; margin: 0 auto; }
.faq details { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 4px 20px; }
.faq summary { cursor: pointer; font: 700 1.02rem var(--font-titulo); color: #fff; padding-block: 16px; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.faq summary::after { content: "+"; color: var(--coral); font-size: 1.3rem; line-height: 1; }
.faq details[open] summary::after { content: "–"; }
.faq summary::-webkit-details-marker { display: none; }
.faq details p { padding-bottom: 16px; }
.lp .nota { color: #A3A19B; }

/* ===== v5: íconos de herramientas ===== */
.app { position: absolute; width: 58px; height: 58px; border-radius: 16px; display: grid; place-items: center; box-shadow: 0 14px 30px rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.12); }
.app svg { width: 30px; height: 30px; }
.app.a1 { top: 4%; left: 6%; } .app.a2 { top: 18%; right: 0; } .app.a3 { top: 46%; left: -4%; } .app.a4 { bottom: 26%; right: -4%; } .app.a5 { bottom: 4%; left: 8%; } .app.a6 { bottom: 0; right: 18%; }
@media (max-width: 860px) { .app { width: 48px; height: 48px; border-radius: 13px; } .app svg { width: 24px; height: 24px; } .app.a3 { left: 0; } .app.a4 { right: 0; } }
.herramientas { padding-block: clamp(40px, 6vw, 64px); background: var(--blanco); border-bottom: 1px solid var(--linea); }
.herramientas p.k { text-align: center; font: 600 .8rem var(--font-titulo); letter-spacing: .14em; text-transform: uppercase; color: var(--texto-suave); margin: 0 auto 22px; }
.logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 18px; }
.logo-h { display: inline-flex; align-items: center; gap: 10px; font: 700 .95rem var(--font-titulo); color: var(--petroleo); background: var(--marfil); border: 1px solid var(--linea); border-radius: 999px; padding: 8px 16px 8px 8px; }
.logo-h .ic { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; border: 1px solid rgba(1,44,61,.08); }
.logo-h .ic svg { width: 19px; height: 19px; }
.logo-h .ic.txt { background: var(--petroleo); color: #fff; font: 800 .8rem var(--font-titulo); }
.marcas-nota { font-size: .78rem; color: #8FA7B2; }
.pill { display: inline-flex; align-items: center; gap: 10px; }
.pill svg { width: 18px; height: 18px; }
.lp-chip { display: inline-flex; align-items: center; gap: 8px; }
.lp-chip svg { width: 16px; height: 16px; }

/* Landing con la paleta de Claude (naranja, negro y marfil) */
.lp { --noche: #141413; --petroleo: #1F1E1D; --coral: #D97757; --coral-hover: #C4613F; --celeste: #E8936F; }
.lp .btn-primario { box-shadow: 0 8px 24px rgba(217,119,87,.35); }
.lp .btn-primario:hover { background: var(--coral-hover); }
body.en-lp, body.en-lp .site-header, body.en-lp::before { background: #141413; }
body.en-lp .site-footer { background: #1F1E1D; }
body.en-lp .proto { background: #1F1E1D; }
body.en-lp .proto strong { color: #E8936F; }

/* ===== v6: movimiento ===== */
.marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee-pista { display: flex; gap: 14px 18px; width: max-content; animation: deslizar 38s linear infinite; }
.marquee:hover .marquee-pista { animation-play-state: paused; }
.marquee .logos, .marquee .pills { flex-wrap: nowrap; justify-content: flex-start; gap: 18px; padding-right: 18px; }
.marquee.inversa .marquee-pista { animation-direction: reverse; }
@keyframes flotar { from { transform: translateY(0) rotate(-2deg); } to { transform: translateY(-14px) rotate(3deg); } }
.app { animation: flotar 4.5s ease-in-out infinite alternate; }
.app.a2 { animation-delay: -1.2s; animation-duration: 5.2s; } .app.a3 { animation-delay: -2.1s; animation-duration: 4s; } .app.a4 { animation-delay: -.6s; animation-duration: 5.6s; } .app.a5 { animation-delay: -3s; } .app.a6 { animation-delay: -1.8s; animation-duration: 4.8s; }
.lp-chip { animation: flotar 5s ease-in-out infinite alternate; } .lp-chip.k2 { animation-delay: -2s; }
.hero, .lp-hero { position: relative; isolation: isolate; }
.hero::after, .lp-hero::after { content: ""; position: absolute; z-index: -1; width: 520px; height: 520px; border-radius: 50%; top: 10%; right: 5%; background: radial-gradient(circle, rgba(79,196,232,.18), transparent 65%); animation: deriva 14s ease-in-out infinite alternate; pointer-events: none; }
.lp-hero::after { background: radial-gradient(circle, rgba(217,119,87,.2), transparent 65%); }
@keyframes deriva { from { transform: translate(0, 0) scale(1); } to { transform: translate(-120px, 60px) scale(1.15); } }
.hero-visual .aro { animation: girar 40s linear infinite; }
@keyframes girar { to { transform: rotate(360deg); } }
.tw { white-space: normal; }
.hero-txt { min-width: 0; }
.servicio, .herr, .cifra-lp, .temario-lp li, .mini-cifra, .logo-h { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.servicio:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(1,44,61,.14); }
.herr:hover, .cifra-lp:hover, .temario-lp li:hover, .mini-cifra:hover { transform: translateY(-4px); }
.btn { transition: background .15s, color .15s, transform .2s ease, box-shadow .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primario:hover .flecha, .btn:hover [aria-hidden="true"] { transform: translateX(3px); }
.btn [aria-hidden="true"] { display: inline-block; transition: transform .2s ease; }
.rv-pend { opacity: .15; transform: translateY(28px); }
.rv-in { transition: opacity .7s ease, transform .7s ease; }
.typing { display: inline-flex; gap: 4px; padding: 12px 14px; background: rgba(255,255,255,.06); border-radius: 14px 14px 14px 4px; justify-self: start; }
.typing i { width: 7px; height: 7px; border-radius: 50%; background: #A3A19B; animation: punto 1s ease-in-out infinite; }
.typing i:nth-child(2) { animation-delay: .15s; } .typing i:nth-child(3) { animation-delay: .3s; }
@keyframes punto { 0%, 100% { opacity: .3; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-3px); } }
.chat-cuerpo > * { animation: entrar .4s ease both; }
@keyframes entrar { from { opacity: 0; transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce) {
  .marquee-pista, .app, .lp-chip, .hero::after, .lp-hero::after, .hero-visual .aro, .typing i, .chat-cuerpo > * { animation: none !important; }
  .marquee-pista { flex-wrap: wrap; width: auto; justify-content: center; }
  .marquee { -webkit-mask-image: none; mask-image: none; }
  .rv-pend { opacity: 1; transform: none; }
}

/* ===== v7: menú a la izquierda + Gratis ===== */
.site-header .wrap { justify-content: flex-start; gap: 28px; }
.nav { flex: 1; }
.nav-cta { margin-left: 6px !important; }
.nav-login { margin-left: auto !important; }
.nav-item { position: relative; }
.nav-drop { display: inline-flex; align-items: center; gap: 6px; font: 600 .95rem var(--font-titulo); color: #DCE7EC; background: none; border: 0; padding: 8px 12px; border-radius: 6px; cursor: pointer; }
.nav-drop:hover, .nav-drop[aria-expanded="true"] { background: rgba(255,255,255,.08); color: #fff; }
.nav-drop svg { width: 12px; height: 12px; transition: transform .2s; }
.nav-drop[aria-expanded="true"] svg { transform: rotate(180deg); }
.nav-drop .badge-gratis { margin-left: 2px; }
.drop { position: absolute; top: calc(100% + 10px); left: 0; width: 320px; background: #032634; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 8px; box-shadow: 0 24px 48px rgba(0,0,0,.4); display: grid; gap: 2px; z-index: 30; }
.drop a { display: grid !important; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px 12px !important; border-radius: 10px; }
.drop a:hover { background: rgba(255,255,255,.07); }
.drop .di { width: 38px; height: 38px; border-radius: 10px; background: rgba(79,196,232,.12); color: var(--celeste); display: grid; place-items: center; }
.drop .di svg { width: 19px; height: 19px; }
.drop strong { display: block; color: #fff; font: 700 .95rem var(--font-titulo); }
.drop small { display: block; color: #9DB1BA; font: 400 .82rem var(--font-texto); line-height: 1.35; }
.drop hr { border: 0; border-top: 1px solid rgba(255,255,255,.08); margin: 4px 8px; }
body.en-lp .drop { background: #262624; }
@media (max-width: 1120px) {
  .menu-btn { margin-left: auto; }
  .nav-item { width: 100%; }
  .nav-drop { width: 100%; justify-content: space-between; padding: 12px; }
  .drop { position: static; width: auto; box-shadow: none; margin: 4px 0 8px; }
  .nav-cta { margin-left: 0 !important; }
  .nav-login { margin-left: 0 !important; }
}
.menu-abierto .wa-flot { display: none; }
/* Blog */
.blog-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.blog-vacio { border: 1px dashed #B9C2C0; border-radius: var(--radio); background: var(--blanco); padding: clamp(24px, 4vw, 40px); display: grid; gap: 10px; }
.blog-vacio strong { font: 700 1.15rem var(--font-titulo); color: var(--petroleo); }
.blog-modelo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 8px; }
@media (max-width: 860px) { .blog-modelo { grid-template-columns: 1fr; } }
.blog-modelo div { border-radius: 12px; background: var(--marfil); padding: 16px; display: grid; gap: 8px; }
.blog-modelo .ph { height: 90px; border-radius: 8px; background: repeating-linear-gradient(135deg, #E9ECE8 0 10px, #F1F3EF 10px 20px); }
.blog-modelo span { font-size: .85rem; color: var(--texto-suave); }

/* Artículos */
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px) { .blog-grid { grid-template-columns: 1fr; } }
.post-card { background: var(--blanco); border-radius: var(--radio); box-shadow: 0 12px 32px rgba(1,44,61,.08); overflow: hidden; display: grid; text-decoration: none; color: inherit; transition: transform .25s ease, box-shadow .25s ease; }
.post-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(1,44,61,.14); }
.post-portada { aspect-ratio: 16 / 9; max-width: 100%; display: grid; place-items: center; padding: 20px; text-align: center; font: 800 1.15rem/1.2 var(--font-titulo); color: #fff; letter-spacing: -0.01em; }
.post-portada.p-claude { background: radial-gradient(circle at 75% 25%, rgba(217,119,87,.55), transparent 60%), #141413; }
.post-portada.p-inst { background: radial-gradient(circle at 75% 25%, rgba(79,196,232,.45), transparent 60%), var(--petroleo); }
.post-portada.p-evento { background: radial-gradient(circle at 25% 75%, rgba(241,89,70,.5), transparent 60%), var(--noche); }
.post-txt { padding: 20px 22px 24px; display: grid; gap: 8px; }
.post-meta { font: 600 .78rem var(--font-titulo); letter-spacing: .08em; text-transform: uppercase; color: var(--coral); }
.post-txt h3 { font-size: 1.1rem; line-height: 1.3; }
.post-txt p { font-size: .95rem; color: var(--texto-suave); }
.articulo { max-width: 720px; margin: 0 auto; }
.articulo .volver { font: 600 .9rem var(--font-titulo); color: var(--petroleo); text-decoration: none; }
.articulo .volver:hover { color: var(--coral); }
.articulo h1 { font-size: clamp(2rem, 4.4vw, 3rem); letter-spacing: -0.025em; margin: 14px 0 10px; }
.art-cuerpo { font-size: 1.1rem; line-height: 1.75; display: grid; gap: 18px; margin-top: 28px; }
.art-cuerpo h2 { font-size: clamp(1.4rem, 2.6vw, 1.8rem); margin-top: 18px; }
.art-cuerpo h3 { font-size: 1.15rem; margin-top: 8px; color: var(--petroleo); }
.art-cuerpo ul, .art-cuerpo ol { margin: 0; padding-left: 22px; display: grid; gap: 8px; }
.art-cuerpo blockquote { margin: 0; border-left: 4px solid var(--celeste); background: var(--blanco); padding: 16px 20px; border-radius: 0 12px 12px 0; font-size: 1rem; color: var(--texto-suave); }
.art-cuerpo hr { border: 0; border-top: 1px solid var(--linea); margin: 10px 0; }
.art-cuerpo hr + p { background: var(--petroleo); color: #DCE7EC; padding: 22px 24px; border-radius: var(--radio); max-width: none; }
.art-cuerpo hr + p strong { color: #fff; } .art-cuerpo hr + p a { color: var(--celeste); }
.art-cuerpo .check-list { list-style: none; padding: 0; }
.art-cuerpo .check-list li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 8px; }
.art-cuerpo .check-list li::before { content: ""; width: 18px; height: 18px; margin-top: 5px; border: 2px solid var(--coral); border-radius: 5px; }
.art-cta { margin-top: 28px; }

/* ===== v9: artículos con íconos, fotos y compartir ===== */
.herr-grid.tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .herr-grid.tres { grid-template-columns: 1fr; } }
.post-portada { position: relative; overflow: hidden; }
.pt { position: absolute; width: 64px; height: 64px; border-radius: 18px; display: grid; place-items: center; box-shadow: 0 14px 30px rgba(0,0,0,.35); animation: flotar 5s ease-in-out infinite alternate; }
.pt svg { width: 32px; height: 32px; }
.pt-a { left: 18%; top: 22%; width: 78px; height: 78px; } .pt-a svg { width: 40px; height: 40px; }
.pt-b { right: 20%; top: 14%; animation-delay: -1.5s; transform: rotate(6deg); }
.pt-c { right: 32%; bottom: 14%; animation-delay: -3s; }
.art-portada { aspect-ratio: 21 / 9; border-radius: var(--radio); margin-top: 24px; }
.art-portada .pt-a { left: 22%; top: 26%; }
.autor { display: flex; align-items: center; gap: 12px; margin-top: 6px; font-size: .95rem; color: var(--texto-suave); }
.autor strong { display: block; color: var(--petroleo); font-family: var(--font-titulo); }
.autor-av { width: 44px; height: 44px; border-radius: 50%; background: var(--coral); color: #fff; display: grid; place-items: center; font: 800 .9rem var(--font-titulo); }
.compartir { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; }
.comp-t { font: 700 .78rem var(--font-titulo); letter-spacing: .1em; text-transform: uppercase; color: var(--texto-suave); margin-right: 4px; }
.comp { display: inline-flex; align-items: center; gap: 7px; font: 600 .85rem var(--font-titulo); text-decoration: none; padding: 8px 13px; border-radius: 999px; border: 1px solid var(--linea); background: var(--blanco); color: var(--petroleo); cursor: pointer; transition: transform .2s, background .2s, color .2s; }
.comp svg { width: 17px; height: 17px; }
.comp:hover { transform: translateY(-2px); }
.comp.wa:hover { background: #25D366; color: #fff; border-color: #25D366; }
.comp.li:hover { background: #0A66C2; color: #fff; border-color: #0A66C2; }
.comp.fb:hover { background: #0866FF; color: #fff; border-color: #0866FF; }
.comp.ml:hover, .comp.cp:hover { background: var(--petroleo); color: #fff; border-color: var(--petroleo); }
@media (max-width: 560px) { .comp span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .comp { padding: 10px; } }
.h-ic { display: flex; align-items: center; gap: 12px; }
.ic-c { width: 40px; height: 40px; flex: none; border-radius: 11px; background: var(--petroleo); color: var(--celeste); display: grid; place-items: center; }
.ic-c svg { width: 20px; height: 20px; }
.h-num { display: flex; align-items: center; gap: 10px; }
.h-num span { width: 30px; height: 30px; flex: none; border-radius: 50%; background: var(--coral); color: #fff; display: grid; place-items: center; font: 800 .9rem var(--font-titulo); }
.compara { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
@media (max-width: 640px) { .compara { grid-template-columns: 1fr; } }
.c-no, .c-si { border-radius: 14px; padding: 16px 18px; display: grid; gap: 6px; font-size: 1rem; }
.c-no { background: #FDECEA; border: 1px solid #F6C4BE; }
.c-si { background: #E8F7EE; border: 1px solid #B9E4C8; }
.c-et { display: inline-flex; align-items: center; gap: 6px; font: 700 .78rem var(--font-titulo); letter-spacing: .08em; text-transform: uppercase; }
.c-no .c-et { color: #B3261E; } .c-si .c-et { color: #1E7A45; }
.c-et svg { width: 15px; height: 15px; }
.nosi { display: grid; grid-template-columns: 40px minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: stretch; margin-top: 10px; }
@media (max-width: 640px) { .nosi { grid-template-columns: 1fr; } }
.nosi-n { width: 40px; height: 40px; border-radius: 50%; background: var(--petroleo); color: #fff; display: grid; place-items: center; font: 800 1rem var(--font-titulo); }
.paso { display: flex; align-items: center; gap: 14px; }
.paso-ic { width: 48px; height: 48px; flex: none; border-radius: 14px; background: var(--coral); color: #fff; display: grid; place-items: center; box-shadow: 0 8px 20px rgba(241,89,70,.3); }
.paso-ic svg { width: 24px; height: 24px; }
.paso small { display: block; font: 700 .75rem var(--font-titulo); letter-spacing: .12em; text-transform: uppercase; color: var(--coral); }
.foto-slot { margin: 6px 0; border: 2px dashed #B9C2C0; border-radius: var(--radio); background: repeating-linear-gradient(135deg, #EEF1EE 0 12px, #F6F7F4 12px 24px); aspect-ratio: 16 / 9; max-width: 100%; display: grid; place-items: center; text-align: center; padding: 20px; color: var(--texto-suave); }
.foto-slot .foto-ic { width: 52px; height: 52px; border-radius: 14px; background: var(--blanco); display: grid; place-items: center; color: var(--petroleo); margin: 0 auto 10px; }
.foto-slot .foto-ic svg { width: 26px; height: 26px; }
.foto-slot figcaption { font-size: .9rem; max-width: 42ch; }
.foto-slot figcaption strong { display: block; color: var(--petroleo); font-family: var(--font-titulo); }
.en-redes { margin-top: 32px; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; align-items: center; border: 1px dashed #B9C2C0; border-radius: var(--radio); padding: 18px 20px; background: var(--blanco); }
.er-ic { width: 52px; height: 52px; border-radius: 14px; background: linear-gradient(45deg,#F58529,#DD2A7B 55%,#8134AF); display: grid; place-items: center; }
.er-ic svg { width: 26px; height: 26px; }
.en-redes strong { font-family: var(--font-titulo); color: var(--petroleo); }
.en-redes p { font-size: .92rem; color: var(--texto-suave); }
@media (prefers-reduced-motion: reduce) { .pt { animation: none; } }

/* ===== v10: fotos de Stella ===== */
.hero-visual .foto { inset: 18% 12% 0; }
.hero-foto { position: absolute; z-index: 1; bottom: 0; left: 50%; transform: translateX(-50%); height: 104%; width: auto; max-width: none; filter: drop-shadow(0 24px 40px rgba(0,0,0,.35)); }
.hero-visual { margin-top: 24px; }
.app { z-index: 2; }
.foto-real { position: relative; aspect-ratio: 4 / 5; max-width: 100%; border-radius: 28px; background: radial-gradient(circle at 70% 30%, rgba(79,196,232,.35), transparent 60%), linear-gradient(160deg, #E6F3F7, #F5F5F0); overflow: hidden; display: flex; align-items: flex-end; justify-content: center; }
.foto-real img { width: 100%; height: auto; display: block; position: relative; z-index: 1; }
.foto-real::after { content: ""; position: absolute; width: 90px; height: 90px; border-radius: 50%; background: var(--coral); top: 6%; left: 6%; opacity: .9; }
.foto-docente { width: 200px; height: 200px; border-radius: 50%; overflow: hidden; background: radial-gradient(circle at 50% 30%, rgba(217,119,87,.55), transparent 70%), #262624; border: 2px solid rgba(217,119,87,.5); }
.foto-docente img { width: 100%; height: auto; display: block; transform: scale(1.5) translateY(14%); transform-origin: 50% 20%; }
img.autor-av { object-fit: cover; }
@media (max-width: 860px) { .hero-foto { height: 100%; } }

/* ===== v11: titular estable, cursos, acceso y carrito ===== */
.cat-hero .wrap { grid-template-columns: 1fr; }
.acceso .acceso-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 460px); }
@media (max-width: 900px) { .acceso .acceso-grid { grid-template-columns: 1fr; } }
.hero h1 { font-size: clamp(2.1rem, 4.3vw, 3.55rem); }
.hero h1 em.tw { display: block; min-height: 2.1em; }
.hero-visual { z-index: 0; }
.hero-txt { position: relative; z-index: 3; }
@media (max-width: 860px) { .hero h1 em.tw { min-height: 2.1em; } }
.nav-login, .nav-cart { display: inline-flex !important; align-items: center; gap: 7px; }
.nav-login svg, .nav-cart svg { width: 20px; height: 20px; }
.nav-cart { position: relative; padding: 8px 10px !important; }
.cart-n { position: absolute; top: 0; right: 0; min-width: 17px; height: 17px; border-radius: 999px; background: var(--coral); color: #fff; font: 700 .68rem/17px var(--font-titulo); text-align: center; padding: 0 4px; }
.solo-mob { display: none; }
@media (max-width: 760px) { .solo-mob { display: inline; } .cart-n { position: static; } }
.nav a[aria-current="page"].nav-cart, .nav a[aria-current="page"].nav-login { color: var(--coral); }
.cat-hero, .acceso { padding-block: clamp(48px, 7vw, 88px); }
.cat-hero h1, .acceso h1 { color: #fff; font-size: clamp(2.2rem, 5vw, 3.6rem); letter-spacing: -0.03em; }
.cat-hero h1 em, .acceso h1 em { font-style: normal; color: var(--celeste); }
.cat-hero p, .acceso p { color: #B7C7CF; font-size: 1.1rem; }
.cat-hero .eyebrow, .acceso .eyebrow { color: #C9D6DC; display: inline-flex; gap: 10px; align-items: center; letter-spacing: .18em; }
.cat-hero .eyebrow::before, .acceso .eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--coral); }
.cursos-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 980px) { .cursos-grid { grid-template-columns: 1fr; max-width: 560px; } }
.curso-card { position: relative; background: var(--blanco); border-radius: 22px; padding: 28px; display: grid; gap: 16px; align-content: start; box-shadow: 0 16px 40px rgba(1,44,61,.1); transition: transform .25s ease, box-shadow .25s ease; }
.curso-card:hover { transform: translateY(-6px); box-shadow: 0 26px 52px rgba(1,44,61,.16); }
.cc-badge { position: absolute; top: 18px; right: 18px; background: rgba(217,119,87,.14); color: #B4532F; font: 700 .72rem var(--font-titulo); letter-spacing: .06em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; }
.cc-top { display: flex; align-items: center; gap: 14px; padding-right: 90px; }
.cc-ic { width: 56px; height: 56px; flex: none; border-radius: 14px; display: grid; place-items: center; color: #fff; }
.cc-ic svg { width: 28px; height: 28px; }
.cc-top h3 { font-size: 1.2rem; }
.curso-card > p { color: var(--texto-suave); font-size: .98rem; }
.cc-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: .88rem; color: var(--texto-suave); }
.cc-meta span { display: inline-flex; align-items: center; gap: 6px; }
.cc-meta svg { width: 16px; height: 16px; }
.cc-precio small { display: block; font-size: .8rem; color: var(--texto-suave); }
.cc-precio b { font: 800 1.7rem var(--font-titulo); color: var(--petroleo); letter-spacing: -0.02em; }
.cc-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.cc-det { font: 700 .95rem var(--font-titulo); color: var(--petroleo); text-decoration: none; }
.cc-det:hover { color: var(--coral); }
.cc-prox { background: transparent; border: 2px dashed #C5CDCB; box-shadow: none; }
.cc-prox .cc-top { padding-right: 0; }
.acceso-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 48px; align-items: center; }
@media (max-width: 900px) { .acceso-grid { grid-template-columns: 1fr; } }
.acceso-txt { display: grid; gap: 18px; }
.acceso-box { background: var(--blanco); border-radius: 24px; padding: clamp(22px, 4vw, 32px); box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.acc-tabs { display: flex; margin: 0 0 20px; background: var(--marfil); border-color: var(--linea); }
.acc-tabs .tab { flex: 1; color: var(--petroleo); }
.acc-form { display: grid; gap: 14px; }
.acc-form label { display: grid; gap: 6px; font: 600 .9rem var(--font-titulo); color: var(--petroleo); }
.acc-form input:not([type="checkbox"]) { font: 1rem var(--font-texto); padding: 12px 14px; border: 1px solid #C5CDCB; border-radius: 10px; width: 100%; }
.acc-form .error { color: #B3261E; font: 400 .85rem var(--font-texto); }
.acc-dos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 480px) { .acc-dos { grid-template-columns: 1fr; } }
.acc-check { display: flex !important; gap: 10px; align-items: flex-start; font: 400 .88rem var(--font-texto) !important; color: var(--texto-suave) !important; }
.acc-check input { width: 18px; height: 18px; margin-top: 3px; flex: none; }
.acc-aviso { background: rgba(79,196,232,.12); border: 1px solid rgba(79,196,232,.35); border-radius: 12px; padding: 12px 16px; font-size: .95rem !important; color: #DCE7EC !important; }
.acc-link { font-size: .9rem; color: var(--petroleo); justify-self: center; }
.acc-ok { background: #EEF9FD; border: 1px solid var(--celeste); border-radius: 12px; padding: 12px 14px; font-size: .92rem; color: var(--petroleo); max-width: none; }
.carrito-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; align-items: start; }
@media (max-width: 860px) { .carrito-grid { grid-template-columns: 1fr; } }
.carrito-vacio { background: var(--blanco); border-radius: 22px; padding: clamp(32px, 6vw, 56px); text-align: center; display: grid; gap: 14px; justify-items: center; box-shadow: 0 12px 32px rgba(1,44,61,.08); }
.carrito-vacio p { margin: 0 auto; color: var(--texto-suave); }
.cv-ic { width: 72px; height: 72px; border-radius: 50%; background: var(--marfil); color: var(--petroleo); display: grid; place-items: center; }
.cv-ic svg { width: 34px; height: 34px; }
.resumen { background: var(--blanco); border-radius: 22px; padding: 24px; display: grid; gap: 12px; box-shadow: 0 12px 32px rgba(1,44,61,.08); }
.res-fila { display: flex; justify-content: space-between; font-variant-numeric: tabular-nums; }
.res-fila.total { font: 800 1.2rem var(--font-titulo); color: var(--petroleo); border-top: 1px solid var(--linea); padding-top: 12px; }

/* ===== v12: landing más dinámica ===== */
.mock { background: #1F1E1D; border: 1px solid rgba(255,255,255,.1); border-radius: 20px; min-height: 300px; position: relative; overflow: hidden; box-shadow: 0 24px 50px rgba(0,0,0,.35); background-image: radial-gradient(circle at 80% 10%, rgba(217,119,87,.16), transparent 55%); }
.mk-barra { display: flex; align-items: center; gap: 6px; padding: 11px 14px; border-bottom: 1px solid rgba(255,255,255,.07); font-size: .8rem; color: #A3A19B; }
.mk-barra i { width: 9px; height: 9px; border-radius: 50%; background: #4A4945; display: inline-block; }
.mk-barra span { margin-left: 8px; }
.panel:not([hidden]) .mock * { animation-play-state: running; }
@keyframes ciclo { 0%, 6% { opacity: 0; transform: translateY(10px); } 12%, 88% { opacity: 1; transform: none; } 96%, 100% { opacity: 0; transform: none; } }
@keyframes tipeo { 0% { width: 0; } 30%, 100% { width: 100%; } }
.mk-cuerpo { padding: 16px; display: grid; gap: 10px; }
.mk-yo { justify-self: end; max-width: 90%; background: rgba(255,255,255,.08); color: #fff; border-radius: 14px 14px 4px 14px; padding: 10px 13px; font-size: .88rem; }
.mk-type { display: inline-block; overflow: hidden; white-space: nowrap; vertical-align: bottom; max-width: 100%; animation: tipeo 9s steps(40) infinite; }
.mk-ia { background: rgba(217,119,87,.1); border: 1px solid rgba(217,119,87,.35); border-radius: 14px 14px 14px 4px; padding: 10px 13px; font-size: .88rem; color: #E8E6DD; display: grid; gap: 4px; }
.mk-quien { display: inline-flex; align-items: center; gap: 6px; font: 700 .72rem var(--font-titulo); letter-spacing: .08em; text-transform: uppercase; color: #E8936F; }
.mk-quien svg { width: 14px; height: 14px; }
.mk-op { display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 8px 12px; font-size: .85rem; color: #D6D4CC; }
.mk-op b { width: 22px; height: 22px; border-radius: 6px; background: rgba(255,255,255,.08); display: grid; place-items: center; font: 700 .75rem var(--font-titulo); color: #fff; }
.mk-op svg { width: 16px; height: 16px; margin-left: auto; color: #7FE0A8; }
.mk-op.sel { border-color: rgba(127,224,168,.5); background: rgba(127,224,168,.08); }
.m-chat .a1, .m-chat .a2, .m-chat .a3, .m-chat .a4 { animation: ciclo 9s ease infinite; opacity: 0; }
.m-chat .a1 { animation-delay: 0s; } .m-chat .a2 { animation-delay: .25s; } .m-chat .a3 { animation-delay: .5s; } .m-chat .a4 { animation-delay: .75s; }
.m-chat .a1, .m-chat .a2, .m-chat .a3, .m-chat .a4 { animation-name: cicloTarde; }
@keyframes cicloTarde { 0%, 32% { opacity: 0; transform: translateY(10px); } 38%, 88% { opacity: 1; transform: none; } 96%, 100% { opacity: 0; } }
.m-cowork { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 10px; padding: 18px; }
@media (max-width: 560px) { .m-cowork { grid-template-columns: 1fr; } }
.mk-orbita { position: relative; aspect-ratio: 1; max-width: 220px; width: 100%; margin: 0 auto; border-radius: 50%; border: 1px dashed rgba(217,119,87,.4); animation: girar 24s linear infinite; }
.mk-centro { position: absolute; inset: 34%; border-radius: 22px; background: #D97757; display: grid; place-items: center; box-shadow: 0 0 40px rgba(217,119,87,.5); animation: girar 24s linear infinite reverse; }
.mk-centro svg { width: 55%; height: 55%; }
.mk-app { position: absolute; width: 42px; height: 42px; border-radius: 12px; background: #fff; display: grid; place-items: center; margin: -21px 0 0 -21px; box-shadow: 0 8px 18px rgba(0,0,0,.3); animation: girar 24s linear infinite reverse; }
.mk-app svg { width: 22px; height: 22px; }
.mk-app.o1 { left: 50%; top: 0; } .mk-app.o2 { left: 97.5%; top: 34.5%; } .mk-app.o3 { left: 79.4%; top: 90.5%; } .mk-app.o4 { left: 20.6%; top: 90.5%; } .mk-app.o5 { left: 2.5%; top: 34.5%; }
.mk-pulso { position: absolute; inset: 30%; border-radius: 50%; border: 2px solid rgba(217,119,87,.6); animation: pulso 2.4s ease-out infinite; }
@keyframes pulso { from { transform: scale(.8); opacity: 1; } to { transform: scale(2.2); opacity: 0; } }
.mk-tareas { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.mk-tareas li { display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 9px 11px; font-size: .84rem; color: #E8E6DD; opacity: 0; animation: ciclo 8s ease infinite; }
.mk-tareas li svg { width: 16px; height: 16px; color: #7FE0A8; flex: none; }
.mk-tareas .a1 { animation-delay: .2s; } .mk-tareas .a2 { animation-delay: 1s; } .mk-tareas .a3 { animation-delay: 1.8s; } .mk-tareas .a4 { animation-delay: 2.6s; }
.m-code { display: grid; grid-template-rows: auto 1fr auto; }
.mk-term { padding: 14px 16px; font: .82rem/1.7 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; color: #D6D4CC; }
.mk-term p { margin: 0; opacity: 0; animation: ciclo 8s ease infinite; max-width: none; }
.mk-term .pr { color: #E8936F; }
.mk-term .ok { color: #7FE0A8; } .mk-term .fin { color: #fff; font-weight: 700; }
.mk-term .t0 { animation-delay: 0s; } .mk-term .t1 { animation-delay: .8s; } .mk-term .t2 { animation-delay: 1.4s; } .mk-term .t3 { animation-delay: 2s; } .mk-term .t4 { animation-delay: 2.6s; }
.mk-web { margin: 0 16px 16px; background: #FAF9F5; border-radius: 10px; padding: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.mk-web span { height: 16px; border-radius: 4px; background: #E3DED3; opacity: 0; animation: ciclo 8s ease infinite; }
.mk-web .w1 { grid-column: 1 / -1; height: 26px; background: #141413; animation-delay: 1s; } .mk-web .w2 { background: #D97757; animation-delay: 1.6s; } .mk-web .w3 { animation-delay: 2.1s; } .mk-web .w4 { grid-column: 1 / -1; animation-delay: 2.6s; }
.m-design { padding: 22px; display: grid; gap: 16px; align-content: center; }
.mk-slides { position: relative; height: 120px; }
.sl { position: absolute; top: 0; left: 50%; width: 96px; height: 120px; margin-left: -48px; border-radius: 12px; display: grid; place-items: end start; padding: 10px; font: 800 .85rem var(--font-titulo); color: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.35); }
.sl.s1 { background: #D97757; animation: abanico1 6s ease-in-out infinite; z-index: 3; }
.sl.s2 { background: #3A3936; animation: abanico2 6s ease-in-out infinite; z-index: 2; }
.sl.s3 { background: #FAF9F5; color: #141413; animation: abanico3 6s ease-in-out infinite; z-index: 1; }
@keyframes abanico1 { 0%, 15% { transform: none; } 40%, 80% { transform: translateX(-90px) rotate(-10deg); } 100% { transform: none; } }
@keyframes abanico2 { 0%, 15% { transform: none; } 40%, 80% { transform: translateY(-6px); } 100% { transform: none; } }
@keyframes abanico3 { 0%, 15% { transform: none; } 40%, 80% { transform: translateX(90px) rotate(10deg); } 100% { transform: none; } }
.mk-var { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.mk-var span { aspect-ratio: 1; max-width: 100%; border-radius: 8px; opacity: 0; animation: ciclo 6s ease infinite; }
.mk-var .v1 { background: #D97757; animation-delay: .2s; } .mk-var .v2 { background: #E8936F; animation-delay: .4s; } .mk-var .v3 { background: #FAF9F5; animation-delay: .6s; } .mk-var .v4 { background: #3A3936; animation-delay: .8s; } .mk-var .v5 { background: #C4613F; animation-delay: 1s; } .mk-var .v6 { background: #A3A19B; animation-delay: 1.2s; }
.m-design pre { margin: 0; background: rgba(0,0,0,.35); border-radius: 10px; padding: 12px 14px; font: .82rem/1.6 ui-monospace, Menlo, Consolas, monospace; color: #E8E6DD; white-space: pre-wrap; }
.m-design pre b { color: #E8936F; font-weight: 600; }
.panel { animation: entrar .45s ease both; }
.tab { position: relative; overflow: hidden; }
.tab .barra-auto { position: absolute; left: 12px; right: 12px; bottom: 4px; height: 2px; border-radius: 2px; background: rgba(255,255,255,.7); transform-origin: left; transform: scaleX(0); }
.tab[aria-selected="true"] .barra-auto.corre { animation: avance 9s linear forwards; }
@keyframes avance { to { transform: scaleX(1); } }
.lp h2 em { font-style: normal; color: var(--celeste); }
.pq-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 980px) { .pq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pq-grid { grid-template-columns: 1fr; } }
.pq-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 32px; padding: 28px 24px; display: grid; gap: 10px; justify-items: start; transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.pq-card:hover { transform: translateY(-6px); border-color: rgba(217,119,87,.55); background: rgba(217,119,87,.07); }
.pq-ic { width: 58px; height: 58px; border-radius: 50%; background: linear-gradient(135deg, #D97757, #E8936F); color: #fff; display: grid; place-items: center; box-shadow: 0 10px 24px rgba(217,119,87,.35); }
.pq-ic svg { width: 26px; height: 26px; }
.pq-card strong { font: 700 1.08rem var(--font-titulo); color: #fff; }
.pq-card p { font-size: .95rem; color: #BDBAB1; }
.pq-nos { margin-top: 22px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; }
.pq-nos-t { font: 700 .8rem var(--font-titulo); letter-spacing: .1em; text-transform: uppercase; color: #A3A19B; margin-right: 4px; }
.pq-no { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; padding: 9px 16px; font-size: .92rem; color: #D6D4CC; }
.pq-no svg { width: 15px; height: 15px; color: #E8936F; }
.timeline { list-style: none; margin: 0 auto; padding: 0; max-width: 820px; position: relative; display: grid; gap: 14px; }
.timeline::before, .timeline::after { content: ""; position: absolute; left: 27px; top: 10px; bottom: 10px; width: 3px; border-radius: 3px; background: rgba(255,255,255,.1); }
.timeline::after { background: linear-gradient(#D97757, #E8936F); bottom: auto; height: calc((100% - 20px) * var(--prog)); transition: height .15s linear; }
.tm-item { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 16px; align-items: start; position: relative; z-index: 1; }
.tm-nodo { width: 58px; height: 58px; border-radius: 50%; background: #1F1E1D; border: 2px solid rgba(217,119,87,.5); color: #E8936F; display: grid; place-items: center; transition: background .3s, color .3s, transform .3s; }
.tm-nodo svg { width: 24px; height: 24px; }
.tm-item.activo .tm-nodo { background: #D97757; color: #fff; border-color: #D97757; transform: scale(1.06); box-shadow: 0 0 0 6px rgba(217,119,87,.15); }
.tm-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09); border-radius: 20px; padding: 4px 20px; transition: border-color .25s, background .25s; }
.tm-card[open], .tm-card:hover, .tm-card.abierto { border-color: rgba(217,119,87,.45); background: rgba(217,119,87,.06); }
.tm-card summary, .tm-sum { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding-block: 14px; }
.tm-sum { cursor: default; }
.tm-card summary::-webkit-details-marker { display: none; }
.tm-n { font: 700 .72rem var(--font-titulo); letter-spacing: .12em; text-transform: uppercase; color: #E8936F; grid-column: 1; }
.tm-t { font: 700 1.12rem var(--font-titulo); color: #fff; grid-column: 1; }
.tm-meta { grid-column: 1; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.tm-v, .tm-chip { font: 600 .74rem var(--font-titulo); padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.07); color: #D6D4CC; }
.tm-chip { background: rgba(217,119,87,.16); color: #F3C9B8; }
.tm-chip.bonus { background: #D97757; color: #fff; }
.tm-mas { grid-column: 2; grid-row: 1 / span 3; align-self: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid rgba(255,255,255,.15); position: relative; transition: transform .25s; }
.tm-mas::before, .tm-mas::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; background: #E8936F; border-radius: 2px; }
.tm-mas::after { transform: rotate(90deg); transition: transform .25s; }
.tm-card[open] .tm-mas::after { transform: rotate(0); }
.tm-card p { padding-bottom: 16px; color: #D6D4CC; font-size: .98rem; }
.tm-card[open] p { animation: entrar .35s ease both; }
@media (max-width: 560px) { .tm-item { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; } .tm-nodo { width: 44px; height: 44px; } .timeline::before, .timeline::after { left: 20px; } }
@media (prefers-reduced-motion: reduce) {
  .mock *, .mock, .panel, .tm-card p { animation: none !important; opacity: 1 !important; transform: none !important; }
  .mk-type { width: auto !important; white-space: normal; }
  .tab .barra-auto { display: none; }
}

/* ===== v13: proyectos y prompts ===== */
.lp-destacados { display: flex; flex-wrap: wrap; gap: 8px; }
.lp-destacados span { border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 7px 14px; font: 600 .88rem var(--font-titulo); color: #E8E6DD; background: rgba(255,255,255,.03); }
.lp-destacados b { color: #E8936F; }
.pr-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 900px) { .pr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pr-grid { grid-template-columns: 1fr; } }
.pr-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09); border-radius: 26px; overflow: hidden; transition: transform .25s ease, border-color .25s ease; }
.pr-card:hover { transform: translateY(-6px); border-color: rgba(217,119,87,.55); }
.pr-vis { height: 170px; position: relative; overflow: hidden; background: radial-gradient(circle at 70% 20%, rgba(217,119,87,.22), transparent 60%), #1F1E1D; border-bottom: 1px solid rgba(255,255,255,.07); }
.pr-txt { padding: 18px 22px 22px; display: grid; gap: 6px; }
.pr-txt h3 { font-size: 1.1rem; }
.pr-txt p { font-size: .94rem; color: #BDBAB1; }
@keyframes entraCiclo { 0%, 8% { opacity: 0; transform: translateY(12px); } 18%, 85% { opacity: 1; transform: none; } 95%, 100% { opacity: 0; } }
.v-web { padding: 18px 26px; display: grid; gap: 8px; align-content: start; }
.v-web > * { opacity: 0; animation: entraCiclo 6s ease infinite; }
.vb-nav { height: 12px; border-radius: 6px; background: #3A3936; }
.vb-hero { height: 52px; border-radius: 10px; background: linear-gradient(90deg, #D97757, #E8936F); animation-delay: .4s !important; }
.vb-fila { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; animation-delay: .8s !important; }
.vb-fila i { height: 40px; border-radius: 8px; background: #FAF9F5; }
.v-proto { display: grid; place-items: center; }
.vp-tel { width: 78px; height: 140px; border-radius: 16px; border: 3px solid #3A3936; background: #141413; position: relative; overflow: hidden; margin-top: 24px; }
.vp-pant { position: absolute; inset: 6px; border-radius: 10px; animation: deslizaPant 7.5s ease-in-out infinite; }
.vp-pant.p1 { background: linear-gradient(#D97757 0 30%, #FAF9F5 30%); }
.vp-pant.p2 { background: linear-gradient(#FAF9F5 0 50%, #3A3936 50%); animation-delay: 2.5s; transform: translateX(110%); }
.vp-pant.p3 { background: linear-gradient(#E8936F 0 20%, #FAF9F5 20% 70%, #D97757 70%); animation-delay: 5s; transform: translateX(110%); }
@keyframes deslizaPant { 0% { transform: translateX(110%); } 8%, 33% { transform: none; } 41%, 100% { transform: translateX(-110%); } }
.vp-pant.p1 { animation-name: deslizaPant; animation-delay: 0s; }
.v-motion .vm-c { position: absolute; width: 34px; height: 34px; border-radius: 50%; background: #D97757; top: 40px; left: 24px; animation: rebota 2.6s ease-in-out infinite alternate; }
@keyframes rebota { to { transform: translateX(150px) translateY(30px) scale(.7); background: #E8936F; } }
.vm-b { position: absolute; bottom: 24px; width: 18px; border-radius: 4px; background: #FAF9F5; animation: barra 1.2s ease-in-out infinite alternate; }
.vm-b.b1 { left: 30px; height: 30px; } .vm-b.b2 { left: 56px; height: 50px; animation-delay: .3s; } .vm-b.b3 { left: 82px; height: 22px; animation-delay: .6s; }
@keyframes barra { to { transform: scaleY(1.8); transform-origin: bottom; } }
.vm-play { position: absolute; right: 24px; bottom: 22px; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.1); display: grid; place-items: center; color: #fff; }
.vm-play svg { width: 18px; height: 18px; fill: #fff; stroke: none; }
.v-dir { padding: 18px 22px; display: grid; gap: 8px; align-content: start; }
.vd-busca { display: flex; align-items: center; gap: 8px; background: #FAF9F5; border-radius: 999px; padding: 6px 12px; color: #141413; }
.vd-busca svg { width: 14px; height: 14px; }
.vd-busca span { height: 8px; width: 0; border-radius: 4px; background: #A3A19B; animation: escribeBusca 6s steps(8) infinite; }
@keyframes escribeBusca { 0% { width: 0; } 25%, 90% { width: 60%; } 100% { width: 0; } }
.vd-it { display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,.06); border-radius: 10px; padding: 7px 10px; opacity: 0; animation: entraCiclo 6s ease infinite; }
.vd-it b { width: 22px; height: 22px; border-radius: 6px; background: #D97757; flex: none; }
.vd-it span { height: 7px; flex: 1; border-radius: 4px; background: #4A4945; }
.vd-it.i1 { animation-delay: 1.2s; } .vd-it.i2 { animation-delay: 1.5s; } .vd-it.i2 b { background: #E8936F; } .vd-it.i3 { animation-delay: 1.8s; } .vd-it.i3 b { background: #FAF9F5; }
.v-agenda { display: grid; place-items: center; }
.va-grid { display: grid; grid-template-columns: repeat(5, 30px); gap: 6px; }
.va-grid span { height: 26px; border-radius: 6px; background: rgba(255,255,255,.07); }
.va-grid .on { animation: turno 6s ease infinite; }
.va-grid .o2 { animation-delay: .4s; } .va-grid .o6 { animation-delay: 1.1s; } .va-grid .o9 { animation-delay: 1.8s; } .va-grid .o13 { animation-delay: 2.5s; }
@keyframes turno { 0%, 10% { background: rgba(255,255,255,.07); } 18%, 85% { background: #D97757; box-shadow: 0 0 14px rgba(217,119,87,.6); } 95%, 100% { background: rgba(255,255,255,.07); } }
.v-plan { padding: 16px 18px; }
.vc-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; height: 100%; }
.vc-cols > div { background: rgba(255,255,255,.04); border-radius: 10px; padding: 8px; display: grid; gap: 6px; align-content: start; position: relative; }
.vc-cols b { font: 700 .66rem var(--font-titulo); letter-spacing: .06em; text-transform: uppercase; color: #A3A19B; }
.vc-post { height: 26px; border-radius: 7px; background: #D97757; display: block; }
.vc-post.fijo { background: #3A3936; }
.vc-post.c1 { animation: pasaPost 7s ease-in-out infinite; }
.vc-post.c2 { background: #E8936F; animation: pasaPost 7s ease-in-out infinite; animation-delay: -2.3s; }
.vc-post.c3 { background: #FAF9F5; animation: aparece 7s ease infinite; }
@keyframes pasaPost { 0%, 15% { transform: none; opacity: 1; } 40% { transform: translateX(110%); opacity: .3; } 41% { opacity: 0; transform: none; } 55%, 100% { opacity: 1; } }
@keyframes aparece { 0%, 40% { opacity: 0; transform: scale(.8); } 50%, 90% { opacity: 1; transform: none; } 100% { opacity: 0; } }
.prompts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 48px; align-items: center; }
@media (max-width: 860px) { .prompts { grid-template-columns: 1fr; } }
.pm-txt { display: grid; gap: 18px; }
.pm-txt h2 { font-size: clamp(2rem, 4.4vw, 3.2rem); line-height: 1.05; }
.pm-num b { font: 800 1.5em var(--font-titulo); color: #D97757; letter-spacing: -0.04em; display: inline-block; }
.pm-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.pm-cat { display: inline-flex; align-items: center; gap: 8px; background: rgba(217,119,87,.12); border: 1px solid rgba(217,119,87,.4); color: #F3C9B8; border-radius: 999px; padding: 8px 14px; font: 600 .9rem var(--font-titulo); }
.pm-cat svg { width: 16px; height: 16px; }
.pm-col { height: 360px; overflow: hidden; border-radius: 24px; background: #1F1E1D; border: 1px solid rgba(255,255,255,.09); padding: 0 16px; -webkit-mask-image: linear-gradient(transparent, #000 15%, #000 85%, transparent); mask-image: linear-gradient(transparent, #000 15%, #000 85%, transparent); }
.pm-pista { display: grid; gap: 10px; padding-block: 10px; animation: subePrompts 30s linear infinite; }
@keyframes subePrompts { to { transform: translateY(-50%); } }
.pm-card { display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 13px 16px; color: #E8E6DD; font-size: .95rem; }
.pm-dot { width: 8px; height: 8px; border-radius: 50%; background: #D97757; flex: none; }
.pm-card:nth-child(3n+2) .pm-dot { background: #E8936F; } .pm-card:nth-child(3n) .pm-dot { background: #FAF9F5; }
@media (prefers-reduced-motion: reduce) { .pr-vis *, .pm-pista { animation: none !important; opacity: 1 !important; transform: none !important; } .vd-busca span { width: 60%; } }

/* ===== v14: etiquetas en píldora ===== */
.eyebrow { display: inline-flex; align-items: center; gap: 8px; width: fit-content; max-width: 100%; padding: 7px 14px; border-radius: 999px; background: rgba(241,89,70,.08); border: 1px solid rgba(241,89,70,.32); line-height: 1.3; }
.centro .eyebrow, .sec-head.centro .eyebrow { justify-self: center; }
.hero .eyebrow, .sec-petroleo .eyebrow, .destacado .eyebrow, .cat-hero .eyebrow, .acceso .eyebrow { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.18); }
.lp .eyebrow { background: rgba(217,119,87,.12); border-color: rgba(217,119,87,.4); color: #F3C9B8; }

/* ===== v15: modalidad ===== */
.modalidad { padding-block: clamp(56px, 8vw, 96px); }
.mod-st { background: radial-gradient(ellipse 50% 70% at 85% 20%, rgba(79,196,232,.14), transparent 70%), var(--noche); color: #C9D6DC; }
.mod-st h2 { color: #fff; } .mod-st h2 em { font-style: normal; color: var(--celeste); }
.mod-st .eyebrow { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.18); color: #C9D6DC; }
.mod-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 980px) { .mod-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .mod-grid { grid-template-columns: 1fr; } }
.mod-card { border-radius: 24px; padding: 26px 24px; display: grid; gap: 12px; align-content: start; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.mod-card:hover { transform: translateY(-6px); }
.mod-st .mod-card:hover { border-color: rgba(79,196,232,.5); background: rgba(79,196,232,.06); }
.mod-lp .mod-card:hover { border-color: rgba(217,119,87,.55); background: rgba(217,119,87,.07); }
.mod-ic { width: 72px; height: 72px; border-radius: 20px; display: grid; place-items: center; margin-bottom: 6px; }
.mod-ic > span { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; animation: latido 3.2s ease-in-out infinite; }
.mod-card:nth-child(2) .mod-ic > span { animation-delay: .4s; } .mod-card:nth-child(3) .mod-ic > span { animation-delay: .8s; } .mod-card:nth-child(4) .mod-ic > span { animation-delay: 1.2s; }
@keyframes latido { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }
.mod-ic svg { width: 22px; height: 22px; }
.mod-st .mod-ic { background: rgba(1,44,61,.9); border: 1px solid rgba(79,196,232,.35); }
.mod-st .mod-ic > span { background: var(--celeste); color: var(--noche); box-shadow: 0 0 18px rgba(79,196,232,.45); }
.mod-lp .mod-ic { background: #262624; border: 1px solid rgba(217,119,87,.4); }
.mod-lp .mod-ic > span { background: #D97757; color: #fff; box-shadow: 0 0 18px rgba(217,119,87,.45); }
.mod-card h3 { font-size: 1.12rem; color: #fff; }
.mod-card p { font-size: .96rem; }
.mod-st .mod-card p { color: #B7C7CF; } .mod-lp .mod-card p { color: #BDBAB1; }
@media (prefers-reduced-motion: reduce) { .mod-ic > span { animation: none; } }

/* ===== v16: prensa ===== */
.prensa-card { background: var(--blanco); border-radius: 22px; padding: 24px; display: grid; gap: 10px; align-content: start; box-shadow: 0 12px 32px rgba(1,44,61,.08); transition: transform .25s ease, box-shadow .25s ease; }
.prensa-card:hover { transform: translateY(-5px); box-shadow: 0 22px 44px rgba(1,44,61,.14); }
.pc-top { display: flex; align-items: center; gap: 10px; }
.pc-ic { width: 44px; height: 44px; border-radius: 12px; background: var(--petroleo); color: var(--celeste); display: grid; place-items: center; flex: none; }
.pc-ic svg { width: 22px; height: 22px; }
.es-video .pc-ic { background: #FF0000; color: #fff; }
.pc-tipo { font: 700 .74rem var(--font-titulo); letter-spacing: .1em; text-transform: uppercase; color: var(--coral); }
.prensa-card h3 { font-size: 1.08rem; line-height: 1.3; }
.pc-meta { font: 600 .88rem var(--font-titulo); color: var(--petroleo); }
.pc-desc { font-size: .95rem; color: var(--texto-suave); }
.pc-pend { justify-self: start; font: 600 .76rem var(--font-titulo); color: #8A5A00; background: #FFF4D6; border: 1px solid #F2D58A; border-radius: 999px; padding: 4px 10px; }
.prensa-card .link-flecha { justify-self: start; margin-top: 4px; }
#prensa-lista .grid-2 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 980px) { #prensa-lista .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { #prensa-lista .grid-2 { grid-template-columns: 1fr; } }

/* ===== v17: GLAM ===== */
.glam-dest { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 24px; align-items: center; margin-bottom: 32px; border-radius: 26px; padding: clamp(22px, 4vw, 34px); background: radial-gradient(ellipse 60% 90% at 90% 10%, rgba(79,196,232,.2), transparent 70%), var(--noche); color: #C9D6DC; box-shadow: 0 20px 44px rgba(1,44,61,.2); }
@media (max-width: 760px) { .glam-dest { grid-template-columns: 1fr; } }
.glam-ic { width: 72px; height: 72px; border-radius: 20px; background: var(--coral); color: #fff; display: grid; place-items: center; box-shadow: 0 10px 26px rgba(241,89,70,.4); }
.glam-ic svg { width: 34px; height: 34px; }
.glam-txt { display: grid; gap: 10px; }
.glam-txt h2 { color: #fff; font-size: clamp(1.6rem, 3.4vw, 2.3rem); }
.glam-txt h2 em { font-style: normal; color: var(--celeste); }
.glam-txt p { color: #B7C7CF; }
.glam-dest .eyebrow { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.18); color: #C9D6DC; }

/* ===== v18: video de Relab ===== */
.relab-video { margin-top: 22px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 28px; align-items: center; text-decoration: none; color: #C9D6DC; background: rgba(255,255,255,.04); border: 1px solid rgba(79,196,232,.25); border-radius: 26px; padding: 18px; transition: border-color .25s, transform .25s; }
.relab-video:hover { border-color: var(--celeste); transform: translateY(-4px); }
@media (max-width: 760px) { .relab-video { grid-template-columns: 1fr; } }
.rv-portada { position: relative; aspect-ratio: 16 / 9; max-width: 100%; border-radius: 18px; overflow: hidden; display: grid; place-items: center; background: radial-gradient(circle at 30% 30%, rgba(79,196,232,.45), transparent 55%), radial-gradient(circle at 80% 80%, rgba(241,89,70,.5), transparent 55%), #012C3D; }
.rv-play { width: 72px; height: 72px; border-radius: 50%; background: #FF0000; display: grid; place-items: center; box-shadow: 0 12px 30px rgba(255,0,0,.4); animation: latido 2.6s ease-in-out infinite; }
.rv-play svg { width: 30px; height: 30px; fill: #fff; margin-left: 4px; }
.rv-yt { position: absolute; left: 14px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px; font: 700 .8rem var(--font-titulo); color: #fff; background: rgba(0,0,0,.45); padding: 5px 10px; border-radius: 999px; }
.rv-yt svg { width: 16px; height: 16px; color: #FF0000; }
.rv-txt { display: grid; gap: 10px; }
.rv-txt strong { font: 800 clamp(1.3rem, 2.6vw, 1.7rem) var(--font-titulo); color: #fff; letter-spacing: -0.02em; }
.rv-txt .link-flecha { color: #DCE7EC; justify-self: start; }
.relab-video .eyebrow { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.18); color: #C9D6DC; }
@media (prefers-reduced-motion: reduce) { .rv-play { animation: none; } }

/* ===== v19: landing Guía de prompting ===== */
.gp { background: var(--marfil); }
.gp-hero { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(ellipse 55% 70% at 80% 40%, rgba(79,196,232,.2), transparent 70%), linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 56px 56px, linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 56px 56px, var(--noche); color: #C9D6DC; padding-block: clamp(52px, 8vw, 96px); }
.gp-hero .wrap { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
@media (max-width: 900px) { .gp-hero .wrap { grid-template-columns: 1fr; } }
.gp-hero-txt { display: grid; gap: 20px; }
.gp-pill { justify-self: start; display: inline-flex; align-items: center; gap: 10px; font: 700 .8rem var(--font-titulo); letter-spacing: .08em; text-transform: uppercase; color: #DCE7EC; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: 5px 14px 5px 5px; background: rgba(255,255,255,.04); }
.gp-pill b { background: #7FE0A8; color: #013220; border-radius: 999px; padding: 4px 10px; }
.gp-hero h1 { color: #fff; font-size: clamp(2.3rem, 5.2vw, 3.9rem); letter-spacing: -0.03em; line-height: 1.05; }
.gp-hero h1 em, .gp h2 em { font-style: normal; color: var(--celeste); }
.gp-hero p { color: #B7C7CF; font-size: 1.12rem; }
.gp-dest { display: flex; flex-wrap: wrap; gap: 8px; }
.gp-dest span { border: 1px solid rgba(255,255,255,.16); border-radius: 999px; padding: 7px 14px; font: 600 .88rem var(--font-titulo); color: #DCE7EC; }
.gp-dest b { color: var(--celeste); }
.gp-visual { position: relative; display: grid; gap: 16px; max-width: 460px; width: 100%; justify-self: center; }
.gp-prompt { background: #032634; border: 1px solid rgba(79,196,232,.3); border-radius: 20px; padding: 18px; box-shadow: 0 24px 50px rgba(0,0,0,.35); display: grid; gap: 10px; animation: flotar 6s ease-in-out infinite alternate; }
.gp-pr-top { display: flex; justify-content: space-between; align-items: center; }
.gp-tag { font: 700 .72rem var(--font-titulo); letter-spacing: .1em; text-transform: uppercase; color: var(--celeste); background: rgba(79,196,232,.12); border-radius: 999px; padding: 5px 10px; }
.gp-copiar { position: relative; font: 700 .8rem var(--font-titulo); color: #fff; background: var(--coral); border-radius: 999px; padding: 6px 12px; min-width: 104px; height: 30px; overflow: hidden; }
.gp-copiar > span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 6px; }
.gp-copiar svg { width: 14px; height: 14px; }
.gp-copiar .c1 { animation: copiaA 6s ease infinite; } .gp-copiar .c2 { opacity: 0; background: #1E7A45; animation: copiaB 6s ease infinite; }
@keyframes copiaA { 0%, 55% { opacity: 1; } 60%, 90% { opacity: 0; } 100% { opacity: 1; } }
@keyframes copiaB { 0%, 55% { opacity: 0; } 60%, 90% { opacity: 1; } 100% { opacity: 0; } }
.gp-l { margin: 0; max-width: none; font-size: .92rem; color: #DCE7EC; opacity: 0; animation: ciclo 6s ease infinite; }
.gp-l b { color: var(--celeste); }
.gp-l.l1 { animation-delay: .1s; } .gp-l.l2 { animation-delay: .7s; } .gp-l.l3 { animation-delay: 1.3s; }
.gp-curso { background: #fff; color: var(--petroleo); border-radius: 20px; padding: 18px; box-shadow: 0 24px 50px rgba(0,0,0,.3); display: grid; gap: 12px; margin-left: 40px; animation: flotar 6s ease-in-out infinite alternate-reverse; }
@media (max-width: 560px) { .gp-curso { margin-left: 0; } }
.gp-cu-top { display: flex; justify-content: space-between; font-family: var(--font-titulo); }
.gp-pct { font-weight: 800; color: var(--coral); font-variant-numeric: tabular-nums; }
.gp-barra { height: 10px; border-radius: 999px; background: #E6ECEB; overflow: hidden; }
.gp-barra span { display: block; height: 100%; width: 0; border-radius: 999px; background: linear-gradient(90deg, var(--celeste), #7FE0A8); animation: llena 6s ease-in-out infinite; }
@keyframes llena { 0% { width: 0; } 70%, 92% { width: 100%; } 100% { width: 0; } }
.gp-mods { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; }
.gp-mods i { height: 22px; border-radius: 6px; background: #E6ECEB; animation: modOk 6s ease infinite; }
.gp-mods .m1 { animation-delay: .3s; } .gp-mods .m2 { animation-delay: .9s; } .gp-mods .m3 { animation-delay: 1.5s; } .gp-mods .m4 { animation-delay: 2.1s; } .gp-mods .m5 { animation-delay: 2.7s; } .gp-mods .m6 { animation-delay: 3.3s; }
@keyframes modOk { 0%, 8% { background: #E6ECEB; } 14%, 85% { background: var(--celeste); } 95%, 100% { background: #E6ECEB; } }
.gp-cert { display: inline-flex; align-items: center; gap: 8px; justify-self: start; font: 700 .85rem var(--font-titulo); color: #1E7A45; background: #E8F7EE; border-radius: 999px; padding: 6px 12px; opacity: 0; animation: certOk 6s ease infinite; }
.gp-cert svg { width: 16px; height: 16px; }
@keyframes certOk { 0%, 68% { opacity: 0; transform: scale(.9); } 74%, 92% { opacity: 1; transform: none; } 100% { opacity: 0; } }
.gp-glosario { background: var(--petroleo); border-block: 1px solid rgba(79,196,232,.2); overflow: hidden; padding-block: 16px; }
.gp-glosario .temas-pista { animation-duration: 30s; }
.gp-sec { padding-block: clamp(56px, 8vw, 96px); }
.gp-oscura { background: var(--noche); color: #C9D6DC; }
.gp-oscura h2 { color: #fff; }
.gp-oscura .eyebrow { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.18); color: #C9D6DC; }
.gp-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 980px) { .gp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .gp-grid { grid-template-columns: 1fr; } }
.gp-card { background: var(--blanco); border-radius: 24px; padding: 24px; display: grid; gap: 10px; align-content: start; box-shadow: 0 12px 32px rgba(1,44,61,.08); transition: transform .25s ease, box-shadow .25s ease; }
.gp-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(1,44,61,.14); }
.gp-ic { width: 52px; height: 52px; border-radius: 14px; background: var(--petroleo); color: var(--celeste); display: grid; place-items: center; }
.gp-ic svg { width: 24px; height: 24px; }
.gp-card h3, .gp-s h3, .gp-lab h3 { font-size: 1.08rem; }
.gp-card p { font-size: .95rem; color: var(--texto-suave); }
.gp-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
@media (max-width: 860px) { .gp-duo { grid-template-columns: 1fr; } }
.gp-duo-txt { display: grid; gap: 16px; }
.gp-duo-txt strong { color: #fff; }
.gp-pasos { display: grid; gap: 12px; position: relative; }
.gp-paso { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; align-items: center; background: rgba(255,255,255,.04); border: 1px solid rgba(79,196,232,.22); border-radius: 18px; padding: 14px 18px; transition: transform .25s, border-color .25s; }
.gp-paso:hover { transform: translateX(6px); border-color: var(--celeste); }
.gp-paso > span { width: 48px; height: 48px; border-radius: 50%; background: var(--celeste); color: var(--noche); display: grid; place-items: center; font: 800 1.1rem var(--font-titulo); }
.gp-paso strong { color: #fff; font-family: var(--font-titulo); }
.gp-paso p { font-size: .92rem; color: #B7C7CF; }
.gp-labs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 980px) { .gp-labs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .gp-labs { grid-template-columns: 1fr; } }
.gp-lab { position: relative; border-radius: 28px; padding: 26px 22px; display: grid; gap: 10px; align-content: start; background: var(--blanco); border: 2px dashed rgba(1,44,61,.18); transition: border-color .25s, transform .25s; }
.gp-lab:hover { border-color: var(--celeste); transform: translateY(-6px); }
.gp-lab-l { font: 700 .72rem var(--font-titulo); letter-spacing: .12em; text-transform: uppercase; color: var(--coral); }
.gp-lab-ic { width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(135deg, var(--celeste), #7FE0A8); color: var(--noche); display: grid; place-items: center; }
.gp-lab-ic svg { width: 24px; height: 24px; }
.gp-lab p { font-size: .94rem; color: var(--texto-suave); }
.gp-seguir { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 860px) { .gp-seguir { grid-template-columns: 1fr; } }
.gp-s { text-decoration: none; color: #C9D6DC; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 24px; padding: 24px; display: grid; gap: 10px; align-content: start; transition: transform .25s, border-color .25s; }
.gp-s:hover { transform: translateY(-6px); border-color: var(--celeste); }
.gp-s h3 { color: #fff; }
.gp-s .gp-ic { background: rgba(79,196,232,.14); }
.gp-s p { font-size: .95rem; color: #B7C7CF; }
.gp-s .link-flecha { color: #DCE7EC; justify-self: start; }
.gp-claude { margin-top: 22px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; text-decoration: none; border-radius: 20px; padding: 18px 22px; background: rgba(217,119,87,.12); border: 1px solid rgba(217,119,87,.4); color: #F3C9B8; }
.gp-claude b { color: #fff; }
.gp-claude .link-flecha { color: #fff; border-color: #D97757; }
.gp-faq details { background: var(--blanco); border-color: var(--linea); }
.gp-faq summary { color: var(--petroleo); }
.gp-faq summary::after { color: var(--coral); }
.gp-faq details p { color: var(--texto-suave); }
.gp-final { margin-top: 48px; text-align: center; display: grid; gap: 18px; justify-items: center; background: var(--noche); border-radius: 26px; padding: clamp(32px, 6vw, 52px); }
.gp-final h2 { color: #fff; }
@media (prefers-reduced-motion: reduce) { .gp-prompt, .gp-curso, .gp-copiar *, .gp-l, .gp-barra span, .gp-mods i, .gp-cert { animation: none !important; opacity: 1 !important; } .gp-copiar .c2 { display: none; } .gp-barra span { width: 100%; } .gp-mods i { background: var(--celeste); } }

/* ===== v20: tarjetas de video con aspecto de reproductor ===== */
.prensa-card.es-video { padding-top: 14px; }
.pc-player { position: relative; display: block; aspect-ratio: 16 / 9; max-width: 100%; border-radius: 16px; overflow: hidden; margin-bottom: 4px; text-decoration: none; background: radial-gradient(circle at 25% 25%, rgba(79,196,232,.5), transparent 55%), radial-gradient(circle at 85% 90%, rgba(241,89,70,.55), transparent 55%), #012C3D; }
.pc-player::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 45%, rgba(0,0,0,.6)); }
.pp-play { position: absolute; z-index: 1; left: 50%; top: 42%; transform: translate(-50%, -50%); width: 62px; height: 62px; border-radius: 50%; background: #FF0000; display: grid; place-items: center; box-shadow: 0 10px 26px rgba(255,0,0,.4); transition: transform .2s ease; }
.pp-play svg { width: 26px; height: 26px; fill: #fff; margin-left: 3px; }
.pc-player:hover .pp-play { transform: translate(-50%, -50%) scale(1.1); }
.pp-badge { position: absolute; z-index: 1; top: 10px; left: 10px; font: 700 .72rem var(--font-titulo); color: #fff; background: rgba(0,0,0,.45); border-radius: 999px; padding: 4px 10px; }
.pp-tit { position: absolute; z-index: 1; left: 12px; right: 12px; bottom: 10px; font: 700 .82rem/1.25 var(--font-titulo); color: #fff; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.es-video .pc-top .pc-ic { display: none; }
.pp-tit { display: none; }
.pp-play { top: 50%; }

/* ===== v21: prensa, speaker y media kit ===== */
.pr-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 380px; }
@media (max-width: 860px) { .pr-hero { grid-template-columns: 1fr; } }
.pr-hero-img { position: relative; overflow: hidden; background: var(--petroleo); display: grid; place-items: center; min-height: 280px; }
.pr-hero-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; opacity: .55; max-width: none; }
.pr-hero-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(1,44,61,.75), rgba(79,196,232,.35)); }
.pr-hero-img h1 { position: relative; z-index: 1; color: #fff; font-size: clamp(3rem, 8vw, 5.5rem); letter-spacing: -0.03em; }
.pr-hero-txt { background: var(--petroleo); color: #DCE7EC; padding: clamp(32px, 6vw, 64px) max(24px, env(safe-area-inset-right, 0px)) clamp(32px, 6vw, 64px) clamp(24px, 5vw, 56px); display: grid; gap: 18px; align-content: center; }
.pr-hero-txt h2 { color: #fff; }
.pr-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.pr-pills a { background: #fff; color: var(--petroleo); text-decoration: none; font: 700 .85rem var(--font-titulo); letter-spacing: .06em; text-transform: uppercase; padding: 10px 18px; border-radius: 999px; transition: transform .2s, background .2s; }
.pr-pills a:hover { transform: translateY(-2px); background: var(--celeste); }
.sp-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
@media (max-width: 900px) { .sp-grid { grid-template-columns: 1fr; } }
.sp-info { display: grid; gap: 18px; }
.sp-temas { display: grid; gap: 10px; }
.sp-tema { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; align-items: center; background: var(--marfil); border-radius: 18px; padding: 14px 16px; transition: transform .25s; }
.sp-tema:hover { transform: translateX(6px); }
.sp-ic { width: 48px; height: 48px; border-radius: 14px; background: var(--petroleo); color: var(--celeste); display: grid; place-items: center; }
.sp-ic svg { width: 22px; height: 22px; }
.sp-tema strong { font-family: var(--font-titulo); color: var(--petroleo); }
.sp-tema p { font-size: .92rem; color: var(--texto-suave); }
.sp-formatos { display: flex; flex-wrap: wrap; gap: 8px; }
.sp-formatos span { border: 1px solid var(--linea); border-radius: 999px; padding: 7px 14px; font: 600 .86rem var(--font-titulo); color: var(--petroleo); background: var(--blanco); }
.sp-form h3 { font-size: 1.25rem; }
.sp-dos { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 480px) { .sp-dos { grid-template-columns: 1fr; } }
.mk-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px; align-items: start; }
@media (max-width: 900px) { .mk-grid { grid-template-columns: 1fr; } }
.mk-bio, .mk-recursos { background: var(--blanco); border-radius: 24px; padding: clamp(22px, 4vw, 32px); box-shadow: 0 12px 32px rgba(1,44,61,.08); display: grid; gap: 16px; align-content: start; }
.mk-bio-tabs { display: inline-flex; gap: 4px; background: var(--marfil); border-radius: 999px; padding: 4px; justify-self: start; }
.mk-tab { border: 0; background: none; font: 700 .9rem var(--font-titulo); color: var(--petroleo); padding: 8px 16px; border-radius: 999px; cursor: pointer; }
.mk-tab[aria-selected="true"] { background: var(--petroleo); color: #fff; }
.mk-texto { max-width: none; font-size: 1rem; line-height: 1.7; background: var(--marfil); border-radius: 14px; padding: 18px; }
#copiar-bio { justify-self: start; }
.mk-item { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 14px; align-items: center; }
.mk-item strong { font-family: var(--font-titulo); color: var(--petroleo); }
.mk-item p { font-size: .9rem; color: var(--texto-suave); word-break: break-word; }
.mk-fotos { display: flex; height: 64px; border-radius: 12px; overflow: hidden; background: linear-gradient(160deg, #E6F3F7, #F5F5F0); }
.mk-fotos img { width: 50%; height: 100%; object-fit: cover; object-position: 50% 15%; }
.mk-logo { height: 64px; border-radius: 12px; background: var(--marfil); display: grid; place-items: center; padding: 8px; }
.mk-logo img { max-height: 46px; width: auto; }
.mk-ic { height: 64px; border-radius: 12px; background: var(--petroleo); color: var(--celeste); display: grid; place-items: center; }
.mk-ic svg { width: 26px; height: 26px; }
.mk-recursos .btn { justify-self: start; }

/* ===== v28: agendar sesión ===== */
.ag-head .btns { margin-top: 20px; }
.ag-pasos { list-style: none; margin: 0 0 28px; padding: 0; display: flex; gap: 8px; flex-wrap: wrap; counter-reset: paso; }
.ag-pasos li { counter-increment: paso; display: inline-flex; align-items: center; gap: 8px; font: 600 .9rem var(--font-titulo); color: #7A8A93; background: var(--blanco); border: 1px solid var(--linea); border-radius: 999px; padding: 6px 14px 6px 6px; }
.ag-pasos li::before { content: counter(paso); width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--marfil); font-size: .8rem; }
.ag-pasos li.activo { color: var(--petroleo); border-color: var(--petroleo); }
.ag-pasos li.activo::before { background: var(--coral); color: #fff; }
.ag-pasos li.hecho::before { content: "✓"; background: var(--petroleo); color: #fff; }
.ag-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 28px; align-items: start; }
@media (max-width: 900px) { .ag-grid { grid-template-columns: 1fr; } }
.ag-paso h2 { font-size: clamp(1.4rem, 2.6vw, 1.8rem); margin-bottom: 6px; }
.ag-paso > p { color: var(--texto-suave); margin: 0 0 20px; }
.ag-progs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 640px) { .ag-progs { grid-template-columns: 1fr; } }
.ag-prog { text-align: left; font: inherit; color: inherit; background: var(--blanco); border: 2px solid var(--linea); border-radius: 20px; padding: 20px; cursor: pointer; display: grid; gap: 8px; transition: border-color .15s, transform .15s, box-shadow .15s; }
.ag-prog:hover { border-color: var(--celeste); transform: translateY(-2px); box-shadow: 0 12px 28px rgba(1,44,61,.08); }
.ag-prog[aria-pressed="true"] { border-color: var(--coral); box-shadow: 0 0 0 4px rgba(241,89,70,.12); }
.ag-prog h3 { font-size: 1.15rem; }
.ag-prog p { margin: 0; color: var(--texto-suave); font-size: .97rem; }
.ag-prog .ag-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.ag-meta span { font: 600 .78rem var(--font-titulo); background: var(--marfil); color: var(--petroleo); border-radius: 999px; padding: 4px 10px; }
.ag-meta .pend { background: #FFF1DC; color: #8A5A00; }
.ag-prox { display: flex; align-items: center; gap: 8px; font: 600 .88rem var(--font-titulo); color: #0E7C5A; }
.ag-prox::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #19B37E; box-shadow: 0 0 0 4px rgba(25,179,126,.15); }
.ag-prog.cotiza { border-style: dashed; cursor: default; }
.ag-prog.cotiza:hover { transform: none; box-shadow: none; border-color: var(--linea); }
.ag-cal-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; background: var(--blanco); border: 1px solid var(--linea); border-radius: 20px; padding: 20px; }
@media (max-width: 700px) { .ag-cal-wrap { grid-template-columns: 1fr; } }
.ag-cal-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.ag-cal-top strong { font: 700 1rem var(--font-titulo); color: var(--petroleo); text-transform: capitalize; }
.ag-cal-top button { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--linea); background: var(--blanco); cursor: pointer; font-size: 1rem; color: var(--petroleo); }
.ag-cal-top button:disabled { opacity: .35; cursor: default; }
.ag-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; text-align: center; }
.ag-cal .dsem { font: 600 .72rem var(--font-titulo); color: #7A8A93; text-transform: uppercase; padding: 4px 0; }
.ag-cal button { aspect-ratio: 1; border: 0; border-radius: 50%; font: 600 .9rem var(--font-titulo); background: transparent; color: #A9B4B9; cursor: default; }
.ag-cal button.disp { background: rgba(79,196,232,.14); color: var(--petroleo); cursor: pointer; }
.ag-cal button.disp:hover { background: rgba(79,196,232,.3); }
.ag-cal button[aria-pressed="true"] { background: var(--coral); color: #fff; }
.ag-horas h3 { font-size: 1rem; margin-bottom: 4px; }
.ag-horas h3::first-letter { text-transform: uppercase; }
.ag-pasos { scroll-margin-top: 110px; }
.ag-horas .ag-tz { font-size: .85rem; color: var(--texto-suave); margin: 0 0 12px; }
.ag-slots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ag-slots button { font: 600 .95rem var(--font-titulo); padding: 12px; border-radius: 12px; border: 1.5px solid var(--linea); background: var(--blanco); color: var(--petroleo); cursor: pointer; }
.ag-slots button:hover { border-color: var(--celeste); }
.ag-slots button[aria-pressed="true"] { background: var(--petroleo); border-color: var(--petroleo); color: #fff; }
.ag-vacio { color: var(--texto-suave); font-size: .95rem; }
.ag-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
.ag-volver { background: none; border: 0; font: 600 .95rem var(--font-titulo); color: var(--petroleo); cursor: pointer; padding: 12px 0; }
.ag-form { background: var(--blanco); border: 1px solid var(--linea); border-radius: 20px; padding: 20px; display: grid; gap: 14px; }
.ag-form .dos { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 640px) { .ag-form .dos { grid-template-columns: 1fr; } }
.ag-form label { display: grid; gap: 6px; font: 600 .9rem var(--font-titulo); color: var(--petroleo); }
.ag-form input, .ag-form textarea { font: 400 1rem var(--font-texto); padding: 12px 14px; border: 1.5px solid var(--linea); border-radius: 12px; background: var(--marfil); color: var(--gris-azulado); width: 100%; }
.ag-form .chk { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; font: 400 .92rem var(--font-texto); color: var(--texto-suave); align-items: start; }
.ag-form .chk input { width: 18px; height: 18px; margin-top: 3px; }
.ag-err { color: #B3261E; font-size: .9rem; margin: 0; }
.btn-mp { background: #009EE3; color: #fff; justify-content: center; }
.btn-mp:hover { background: #0087C2; }
.ag-pagado { background: #E3F7EF; color: #0B5E45; border-radius: 14px; padding: 14px 16px; margin-bottom: 18px; font-size: .97rem; }
.ag-reserva-nota { font-size: .88rem; color: var(--texto-suave); margin: 0; display: flex; gap: 8px; align-items: center; }
.ag-resumen { position: sticky; top: 100px; background: var(--petroleo); color: #DCE7EC; border-radius: 20px; padding: 22px; display: grid; gap: 14px; }
.ag-resumen h3 { color: #fff; font-size: 1.05rem; }
.ag-resumen dl { margin: 0; display: grid; gap: 10px; }
.ag-resumen dt { font: 600 .74rem var(--font-titulo); text-transform: uppercase; letter-spacing: .08em; color: #8FA6B0; }
.ag-resumen dd { margin: 2px 0 0; color: #fff; font-weight: 500; }
.ag-resumen dd.vacio { color: #6F8892; font-weight: 400; }
.ag-resumen .ag-total { border-top: 1px solid rgba(255,255,255,.12); padding-top: 12px; display: flex; justify-content: space-between; align-items: baseline; font: 700 1rem var(--font-titulo); color: #fff; }
.ag-resumen ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: .88rem; }
.ag-resumen li::before { content: "✓ "; color: var(--celeste); }
.ag-ok { background: var(--blanco); border: 1px solid var(--linea); border-radius: 24px; padding: clamp(24px, 4vw, 40px); display: grid; gap: 14px; justify-items: start; }
.ag-ok .ag-check { width: 56px; height: 56px; border-radius: 50%; background: #E3F7EF; color: #0E7C5A; display: grid; place-items: center; font-size: 1.6rem; }
.ag-cal-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.ag-cal-btns a, .ag-cal-btns button { display: inline-flex; align-items: center; gap: 8px; font: 600 .95rem var(--font-titulo); padding: 12px 18px; border-radius: 999px; border: 1.5px solid var(--linea); background: var(--blanco); color: var(--petroleo); text-decoration: none; cursor: pointer; }
.ag-cal-btns a:hover, .ag-cal-btns button:hover { border-color: var(--petroleo); }
.ag-cal-btns svg { width: 18px; height: 18px; }
.ag-politicas { font-size: .9rem; color: var(--texto-suave); }
@media (prefers-reduced-motion: reduce) { .ag-prog { transition: none; } .ag-prog:hover { transform: none; } }

/* ===== v30: foto hero, tarjetas de servicios, portada servicios, in company y cotización ===== */
.hero-visual { max-width: 540px; margin-top: -36px; }
.hero-visual .foto { border-color: transparent; background: radial-gradient(circle at 50% 40%, rgba(79,196,232,.18), transparent 70%); }
.hero-foto { height: 116%; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%), linear-gradient(180deg, #000 72%, transparent 100%); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%), linear-gradient(180deg, #000 72%, transparent 100%); mask-composite: intersect; }
@media (max-width: 860px) { .hero-visual { max-width: 360px; margin-top: 8px; } .hero-foto { height: 108%; } }
.sv-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1000px) { .sv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .sv-grid { grid-template-columns: 1fr; } }
.sv-card { background: var(--blanco); border: 1px solid var(--linea); border-radius: 26px; overflow: hidden; display: flex; flex-direction: column; text-decoration: none; color: inherit; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.sv-card:hover { transform: translateY(-6px); border-color: var(--celeste); box-shadow: 0 18px 40px rgba(1,44,61,.12); }
.sv-vis { height: 170px; position: relative; overflow: hidden; background: radial-gradient(circle at 80% 15%, rgba(79,196,232,.35), transparent 55%), radial-gradient(circle at 10% 100%, rgba(241,89,70,.25), transparent 50%), var(--petroleo); }
.sv-txt { padding: 20px 22px 22px; display: grid; gap: 8px; flex: 1; align-content: start; }
.sv-txt h3 { font-size: 1.12rem; }
.sv-txt p { font-size: .95rem; color: var(--texto-suave); margin: 0; }
.sv-txt .link-flecha { margin-top: auto; justify-self: start; }
.sv-vis > * { opacity: 0; animation: entraCiclo 7s ease infinite; }
/* Consultoría: hoja de ruta */
.v-ruta { display: grid; align-content: center; padding: 0 22px; gap: 14px; }
.v-ruta > * { opacity: 1; animation: none; }
.vr-linea { position: relative; height: 4px; border-radius: 2px; background: rgba(255,255,255,.15); }
.vr-linea::after { content: ""; position: absolute; inset: 0; width: 0; border-radius: 2px; background: linear-gradient(90deg, var(--celeste), var(--coral)); animation: vrLlena 7s ease infinite; }
.vr-nodos { display: flex; justify-content: space-between; margin-top: -23px; }
.vr-nodos span { display: grid; justify-items: center; gap: 8px; font: 600 .72rem var(--font-titulo); color: #C9D6DC; }
.vr-nodos i { width: 22px; height: 22px; border-radius: 50%; background: var(--petroleo); border: 3px solid rgba(255,255,255,.25); animation: vrNodo 7s ease infinite; }
.vr-nodos span:nth-child(2) i { animation-delay: 1.2s; } .vr-nodos span:nth-child(3) i { animation-delay: 2.4s; }
.vr-meta { justify-self: end; font: 700 .75rem var(--font-titulo); color: #fff; background: var(--coral); border-radius: 999px; padding: 5px 12px; opacity: 0; animation: entraCiclo 7s ease infinite 3.2s; }
@keyframes vrLlena { 0% { width: 0; } 45%, 90% { width: 100%; } 100% { width: 100%; opacity: 0; } }
@keyframes vrNodo { 0%, 10% { border-color: rgba(255,255,255,.25); background: var(--petroleo); } 20%, 88% { border-color: var(--celeste); background: var(--celeste); } 100% { border-color: rgba(255,255,255,.25); } }
/* Marketing: posteo con reacciones */
.v-post { padding: 18px 26px; }
.v-post > * { opacity: 1; animation: none; }
.vp-card { background: #fff; border-radius: 14px; padding: 10px; display: grid; gap: 7px; width: 72%; box-shadow: 0 10px 24px rgba(0,0,0,.25); animation: flota 6s ease-in-out infinite; }
.vp-cab { display: flex; gap: 6px; align-items: center; }
.vp-cab b { width: 18px; height: 18px; border-radius: 50%; background: var(--coral); }
.vp-cab i { height: 6px; width: 50%; border-radius: 3px; background: #DCE1DE; }
.vp-img { height: 54px; border-radius: 8px; background: linear-gradient(135deg, var(--celeste), #9BE0F3); }
.vp-lin { height: 6px; border-radius: 3px; background: #E7EBE9; width: 80%; }
.vp-reac { position: absolute; right: 18px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #fff; box-shadow: 0 6px 16px rgba(0,0,0,.25); opacity: 0; animation: pop 7s ease infinite; }
.vp-reac svg { width: 17px; height: 17px; }
.vp-reac.r1 { top: 22px; color: var(--coral); animation-delay: 1s; } .vp-reac.r2 { top: 66px; color: var(--petroleo); animation-delay: 1.8s; } .vp-reac.r3 { top: 110px; color: #19B37E; animation-delay: 2.6s; }
@keyframes pop { 0%, 5% { opacity: 0; transform: scale(.4); } 12% { opacity: 1; transform: scale(1.15); } 18%, 85% { opacity: 1; transform: scale(1); } 95%, 100% { opacity: 0; transform: scale(.8); } }
@keyframes flota { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
/* IA: prompt y respuesta */
.v-ia { padding: 20px 22px; display: grid; gap: 9px; align-content: start; }
.vi-prompt { opacity: 1 !important; animation: none !important; display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 12px; padding: 9px 10px; }
.vi-prompt span { height: 7px; border-radius: 4px; background: #fff; width: 0; animation: escribe 7s steps(14) infinite; }
.vi-prompt b { margin-left: auto; width: 22px; height: 22px; border-radius: 50%; background: var(--coral); flex: none; }
.vi-out { height: 10px; border-radius: 5px; background: rgba(79,196,232,.55); }
.vi-out.o1 { width: 92%; animation-delay: 2s !important; } .vi-out.o2 { width: 78%; animation-delay: 2.4s !important; } .vi-out.o3 { width: 60%; animation-delay: 2.8s !important; }
.vi-chip { justify-self: start; font: 700 .72rem var(--font-titulo); color: var(--petroleo); background: #fff; border-radius: 999px; padding: 4px 10px; animation-delay: 3.4s !important; }
@keyframes escribe { 0% { width: 0; } 25%, 90% { width: 62%; } 100% { width: 62%; opacity: 0; } }
/* Capacitación: presentación y equipo */
.v-cap { padding: 16px 26px; display: grid; gap: 12px; justify-items: center; align-content: center; }
.vc-slide { opacity: 1 !important; animation: none !important; width: 78%; height: 78px; border-radius: 10px; background: #fff; display: flex; align-items: flex-end; gap: 7px; padding: 12px 14px; }
.vc-slide i { flex: 1; border-radius: 4px 4px 0 0; background: var(--celeste); height: 10%; animation: crece 7s ease infinite; }
.vc-slide i:nth-child(2) { animation-delay: .3s; background: var(--petroleo); } .vc-slide i:nth-child(3) { animation-delay: .6s; background: var(--coral); } .vc-slide i:nth-child(4) { animation-delay: .9s; }
.vc-eq { opacity: 1 !important; animation: none !important; display: flex; gap: 8px; }
.vc-eq b { width: 26px; height: 26px; border-radius: 50%; background: #C9D6DC; border: 2px solid var(--petroleo); opacity: 0; animation: pop 7s ease infinite; }
.vc-eq b:nth-child(1) { animation-delay: 1.4s; background: #F7B2A8; } .vc-eq b:nth-child(2) { animation-delay: 1.7s; background: #9BE0F3; } .vc-eq b:nth-child(3) { animation-delay: 2s; background: #F5F5F0; } .vc-eq b:nth-child(4) { animation-delay: 2.3s; background: #FFD39A; } .vc-eq b:nth-child(5) { animation-delay: 2.6s; background: #B8E6D2; }
@keyframes crece { 0%, 5% { height: 10%; } 30%, 88% { height: var(--h, 70%); } 100% { height: 10%; } }
.vc-slide i:nth-child(1) { --h: 45%; } .vc-slide i:nth-child(2) { --h: 70%; } .vc-slide i:nth-child(3) { --h: 95%; } .vc-slide i:nth-child(4) { --h: 60%; }
@media (prefers-reduced-motion: reduce) { .sv-vis *, .sv-vis *::after { animation: none !important; opacity: 1 !important; } .vr-linea::after { width: 100%; } .vi-prompt span { width: 62%; } .vc-slide i { height: var(--h); } .sv-card { transition: none; } .sv-card:hover { transform: none; } }
/* Servicios: portada */
.sv-hero .pr-hero-img h1 { font-size: clamp(2.6rem, 7vw, 4.6rem); }
.sv-hero .pr-hero-txt h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
.sv-hero .btns .btn-secundario { color: #fff; border-color: rgba(255,255,255,.5); }
.sv-hero .btns .btn-secundario:hover { background: #fff; color: var(--petroleo); }
/* Capacitaciones e in company */
.cap-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 860px) { .cap-grid { grid-template-columns: 1fr; } }
.cap-card { background: var(--blanco); border: 1px solid var(--linea); border-radius: 22px; padding: 24px; display: grid; gap: 10px; align-content: start; }
.cap-card .icono { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: rgba(79,196,232,.15); color: var(--petroleo); }
.cap-card .icono svg { width: 22px; height: 22px; }
.cap-card h3 { font-size: 1.15rem; }
.cap-card p { margin: 0; color: var(--texto-suave); }
.cap-card .link-flecha { justify-self: start; margin-top: 6px; }
.ic-wrap { background: var(--petroleo); color: #DCE7EC; }
.ic-wrap h2, .ic-wrap h3 { color: #fff; }
.ic-wrap .sec-head p { color: #C9D6DC; }
.ic-pasos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; counter-reset: ic; }
@media (max-width: 900px) { .ic-pasos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .ic-pasos { grid-template-columns: 1fr; } }
.ic-pasos li { counter-increment: ic; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 20px; padding: 22px; display: grid; gap: 8px; align-content: start; }
.ic-pasos li::before { content: counter(ic, decimal-leading-zero); font: 800 1.6rem var(--font-titulo); color: var(--celeste); }
.ic-pasos p { margin: 0; color: #C9D6DC; font-size: .97rem; }
.ic-temas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.ic-temas span { font: 600 .9rem var(--font-titulo); color: #fff; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: 8px 16px; }
.ic-cta { margin-top: 28px; display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.ic-cta p { margin: 0; color: #C9D6DC; }
.cot-lista { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 10px; }
.cot-lista li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; }
.cot-lista li::before { content: "✓"; width: 22px; height: 22px; border-radius: 50%; background: rgba(241,89,70,.12); color: var(--coral); display: grid; place-items: center; font-weight: 700; font-size: .8rem; }

/* ===== v31: redes en el pie ===== */
.redes { display: flex; gap: 12px; margin-top: 18px; flex-wrap: wrap; }
.redes a { width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.22); display: grid; place-items: center; color: #DCE7EC; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.redes a:hover { background: var(--coral); border-color: var(--coral); color: #fff; transform: translateY(-2px); }
.redes svg { width: 20px; height: 20px; }

/* ===== v32: índice, relacionados y filtros compactos ===== */
.toc { background: #E3F5FB; border: 1px solid #C5E9F5; border-radius: 18px; margin: 8px 0 28px; }
.toc summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 22px; font: 700 1.05rem var(--font-titulo); color: var(--petroleo); }
.toc summary::-webkit-details-marker { display: none; }
.toc summary svg { width: 20px; height: 20px; transition: transform .2s; flex: none; }
.toc[open] summary svg { transform: rotate(180deg); }
.toc ol { margin: 0; padding: 0 22px 20px 44px; display: grid; gap: 8px; }
.toc li::marker { color: var(--coral); font-weight: 700; }
.toc a { color: #0B6E8F; text-decoration: none; font-weight: 500; }
.toc a:hover { text-decoration: underline; }
.rel { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--linea); display: grid; gap: 18px; }
.rel h2 { font-size: 1.35rem; }
.rel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 640px) { .rel-grid { grid-template-columns: 1fr; } }
.rel-grid .post-card .post-txt p { display: none; }
.rel-curso { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; background: var(--petroleo); color: #DCE7EC; border-radius: 22px; padding: 24px; text-decoration: none; transition: transform .2s; }
.rel-curso:hover { transform: translateY(-3px); }
.rel-curso.claude { background: #141413; }
.rel-curso .tag { font: 700 .72rem var(--font-titulo); letter-spacing: .1em; text-transform: uppercase; color: var(--celeste); }
.rel-curso.claude .tag { color: #D97757; }
.rel-curso h3 { color: #fff; font-size: 1.2rem; margin: 6px 0 4px; }
.rel-curso p { margin: 0; font-size: .95rem; color: #C9D6DC; }
.rel-curso .btn { white-space: nowrap; }
.rel-curso.claude .btn { background: #D97757; box-shadow: none; }
@media (max-width: 640px) { .rel-curso { grid-template-columns: 1fr; } .rel-curso .btn { justify-self: start; } }
.filtro-blog { font: 600 .9rem var(--font-titulo); border: 1px solid var(--petroleo); background: transparent; color: var(--petroleo); padding: 8px 14px; border-radius: 999px; cursor: pointer; }
.filtro-blog[aria-pressed="true"] { background: var(--petroleo); color: var(--marfil); }
.filtro-blog small { opacity: .65; margin-left: 4px; }
@media (max-width: 760px) {
  .filtros, .blog-cats { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -16px; padding: 2px 16px 6px; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
  .filtros::-webkit-scrollbar, .blog-cats::-webkit-scrollbar { display: none; }
  .filtro, .filtro-blog { flex: none; white-space: nowrap; font-size: .85rem; padding: 7px 13px; }
}

/* ===== v33: sobre mí personal, recursos digitales, pie y ayuda ===== */
mark.sub { color: inherit; background: linear-gradient(rgba(241,89,70,.3), rgba(241,89,70,.3)) no-repeat 0 88% / 0 42%; padding: 0 .08em; transition: background-size .9s cubic-bezier(.2,.7,.2,1); }
mark.sub.cel { background-image: linear-gradient(rgba(79,196,232,.45), rgba(79,196,232,.45)); }
mark.sub.on { background-size: 100% 42%; }
@media (prefers-reduced-motion: reduce) { mark.sub { transition: none; background-size: 100% 42%; } }
.yo-hero { padding-block: clamp(48px, 7vw, 88px); background: var(--blanco); border-bottom: 1px solid var(--linea); }
.yo-hero .wrap { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
@media (max-width: 860px) { .yo-hero .wrap { grid-template-columns: 1fr; } .yo-hero .foto-real { max-width: 360px; } }
.yo-hero h1 { font-size: clamp(2.6rem, 6vw, 4.4rem); letter-spacing: -.03em; }
.yo-hero .bajada { font-size: clamp(1.1rem, 1.8vw, 1.3rem); color: var(--gris-azulado); max-width: 34ch; }
.yo-hero .btns { margin-top: 8px; }
.yo-historia { max-width: 760px; margin: 0 auto; display: grid; gap: 18px; font-size: 1.12rem; }
.yo-historia p { margin: 0; }
.yo-firma { font: 700 1.1rem var(--font-titulo); color: var(--coral); }
.tray { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.tray li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; align-items: start; background: var(--blanco); border: 1px solid var(--linea); border-radius: 18px; padding: 16px 18px; }
.tray .ti { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: rgba(79,196,232,.15); color: var(--petroleo); }
.tray .ti svg { width: 21px; height: 21px; }
.tray strong { display: block; font: 700 1.02rem var(--font-titulo); color: var(--petroleo); }
.tray span.d { color: var(--texto-suave); font-size: .97rem; }
.rd-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1000px) { .rd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .rd-grid { grid-template-columns: 1fr; } }
.rd-card { background: var(--blanco); border: 1px solid var(--linea); border-radius: 22px; overflow: hidden; display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s; }
.rd-card:hover { transform: translateY(-5px); box-shadow: 0 16px 36px rgba(1,44,61,.1); }
.rd-vis { height: 120px; display: grid; place-items: center; position: relative; }
.rd-vis .rd-logo { width: 58px; height: 58px; border-radius: 16px; display: grid; place-items: center; background: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.15); }
.rd-vis .rd-logo svg { width: 30px; height: 30px; }
.rd-vis.notion { background: linear-gradient(135deg, #F1F1EF, #E3E2DE); }
.rd-vis.notion .rd-logo { color: #000; }
.rd-vis.canva { background: linear-gradient(135deg, #00C4CC, #7D2AE8); }
.rd-vis.canva .rd-logo { color: #00C4CC; }
.rd-vis.doc { background: linear-gradient(135deg, var(--petroleo), #0A4A63); }
.rd-vis.doc .rd-logo { color: var(--coral); }
.rd-badge { position: absolute; top: 12px; left: 12px; font: 700 .7rem var(--font-titulo); letter-spacing: .06em; text-transform: uppercase; background: #fff; color: var(--petroleo); border-radius: 999px; padding: 4px 10px; }
.rd-txt { padding: 18px 20px 20px; display: grid; gap: 8px; flex: 1; align-content: start; }
.rd-txt h3 { font-size: 1.08rem; }
.rd-txt p { margin: 0; color: var(--texto-suave); font-size: .95rem; }
.rd-txt .rd-pie { margin-top: auto; padding-top: 8px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.rd-txt .rd-precio { font: 600 .85rem var(--font-titulo); color: #8A5A00; background: #FFF1DC; border-radius: 999px; padding: 4px 10px; }
.cursos-grid.dos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 980px) { .cursos-grid.dos { grid-template-columns: 1fr; } }
.site-footer .foot-cols { grid-template-columns: minmax(0, 1.3fr) repeat(4, minmax(0, 1fr)); gap: 28px; }
@media (max-width: 1000px) { .site-footer .foot-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } .site-footer .foot-cols > :first-child { grid-column: 1 / -1; } }
.foot-legal a { color: inherit; }
.ayuda-pasos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; counter-reset: ay; }
@media (max-width: 900px) { .ayuda-pasos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .ayuda-pasos { grid-template-columns: 1fr; } }
.ayuda-pasos li { counter-increment: ay; background: var(--blanco); border: 1px solid var(--linea); border-radius: 20px; padding: 22px; display: grid; gap: 8px; align-content: start; }
.ayuda-pasos li::before { content: counter(ay); width: 34px; height: 34px; border-radius: 50%; background: var(--coral); color: #fff; display: grid; place-items: center; font: 800 1rem var(--font-titulo); }
.ayuda-pasos p { margin: 0; color: var(--texto-suave); font-size: .97rem; }
.legal-doc { max-width: 760px; display: grid; gap: 14px; }
.legal-doc section { padding: 0; }
.legal-doc .pend { background: #FFF1DC; color: #8A5A00; border-radius: 14px; padding: 14px 16px; font-size: .95rem; }
.legal-indice { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

.tray-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; }
@media (max-width: 860px) { .tray-grid { grid-template-columns: 1fr; } }
.tray-tit { font-size: 1.15rem; margin-bottom: 14px; }
.tray-y { display: inline-block; font: 700 .72rem var(--font-titulo); letter-spacing: .06em; text-transform: uppercase; color: var(--coral); margin-bottom: 4px; }
.tray-idiomas { margin: 16px 0 0; color: var(--texto-suave); }
.tray-areas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.tray-areas span { font: 600 .9rem var(--font-titulo); color: var(--petroleo); background: var(--blanco); border: 1px solid var(--linea); border-radius: 999px; padding: 8px 16px; }

.hitos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 900px) { .hitos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .hitos { grid-template-columns: 1fr; } }
.hito { background: var(--blanco); border: 1px solid var(--linea); border-radius: 22px; padding: 24px; display: grid; gap: 8px; align-content: start; }
.hito b { font: 800 clamp(1.8rem, 3vw, 2.4rem)/1 var(--font-titulo); color: var(--coral); letter-spacing: -.02em; }
.hito span { color: var(--texto-suave); }

/* ===== v35: principios dinámicos ===== */
.pqs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 900px) { .pqs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .pqs { grid-template-columns: 1fr; } }
.pq { text-align: left; font: inherit; color: inherit; cursor: pointer; background: var(--marfil); border: 1px solid var(--linea); border-radius: 24px; padding: 24px; display: grid; gap: 10px; align-content: start; position: relative; overflow: hidden; transition: background .45s ease, color .45s ease, transform .3s ease, box-shadow .3s ease; }
.pq:hover { transform: translateY(-4px); }
.pq-top { display: flex; justify-content: space-between; align-items: center; }
.pq-n { font: 800 2.2rem/1 var(--font-titulo); color: var(--linea); letter-spacing: -.03em; transition: color .45s; }
.pq-ic { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: rgba(79,196,232,.15); color: var(--petroleo); transition: background .45s, color .45s, transform .5s; }
.pq-ic svg { width: 22px; height: 22px; }
.pq h3 { font-size: 1.08rem; transition: color .45s; }
.pq p { margin: 0; color: var(--texto-suave); font-size: .97rem; transition: color .45s; }
.pq-bar { height: 3px; border-radius: 2px; background: rgba(1,44,61,.08); margin-top: 6px; overflow: hidden; }
.pq-bar i { display: block; height: 100%; width: 0; background: var(--coral); }
.pq[aria-pressed="true"] { background: var(--petroleo); border-color: var(--petroleo); box-shadow: 0 18px 40px rgba(1,44,61,.22); }
.pq[aria-pressed="true"] .pq-n { color: var(--coral); }
.pq[aria-pressed="true"] .pq-ic { background: var(--coral); color: #fff; transform: rotate(-8deg) scale(1.06); }
.pq[aria-pressed="true"] h3 { color: #fff; }
.pq[aria-pressed="true"] p { color: #C9D6DC; }
.pq[aria-pressed="true"] .pq-bar { background: rgba(255,255,255,.12); }
.pqs.corre .pq[aria-pressed="true"] .pq-bar i { animation: pqBarra 4s linear forwards; }
@keyframes pqBarra { to { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .pq, .pq * { transition: none !important; animation: none !important; } .pq:hover { transform: none; } }

.epe { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 28px; align-items: center; background: linear-gradient(135deg, var(--coral), #F7826F); color: #fff; border-radius: 28px; padding: clamp(24px, 4vw, 44px); }
@media (max-width: 860px) { .epe { grid-template-columns: 1fr; } }
.epe h2 { color: #fff; font-size: clamp(1.7rem, 3.4vw, 2.4rem); margin: 8px 0 10px; }
.epe p { color: #FFF1EE; margin: 0 0 18px; }
.epe .eyebrow { background: rgba(255,255,255,.2); color: #fff; border-color: transparent; }
.epe .btn-primario { background: var(--petroleo); box-shadow: none; }
.epe-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.epe-lista li { background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.3); border-radius: 16px; padding: 14px 18px; font: 700 1rem var(--font-titulo); }

/* ===== v37: fichas de recursos digitales ===== */
.faq.claro details { background: var(--blanco); border-color: var(--linea); }
.faq.claro summary { color: var(--petroleo); }
.faq.claro details p { color: var(--texto-suave); margin: 0; }
.rd-card { text-decoration: none; color: inherit; }
.rd-txt .rd-mas { font: 700 .9rem var(--font-titulo); color: var(--petroleo); }
.rec-hero { padding-block: clamp(40px, 6vw, 72px); background: var(--blanco); border-bottom: 1px solid var(--linea); }
.rec-hero .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 56px); align-items: center; }
@media (max-width: 860px) { .rec-hero .wrap { grid-template-columns: 1fr; } }
.rec-volver { font: 600 .9rem var(--font-titulo); color: var(--petroleo); text-decoration: none; }
.rec-hero h1 { font-size: clamp(2rem, 4.4vw, 3.1rem); margin: 10px 0 12px; }
.rec-hero .bajada { font-size: 1.12rem; color: var(--gris-azulado); margin: 0 0 18px; }
.rec-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.rec-tags span { font: 600 .82rem var(--font-titulo); background: var(--marfil); color: var(--petroleo); border-radius: 999px; padding: 6px 12px; }
.rec-compra { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.rec-precio { font: 800 1.5rem var(--font-titulo); color: var(--petroleo); }
.rec-precio small { display: block; font: 600 .78rem var(--font-titulo); color: #8A5A00; text-transform: uppercase; letter-spacing: .06em; }
.rec-mock { border-radius: 28px; padding: 26px; min-height: 320px; display: grid; place-items: center; position: relative; overflow: hidden; }
.rec-mock.notion { background: linear-gradient(135deg, #F1F1EF, #E3E2DE); }
.rec-mock.canva { background: linear-gradient(135deg, #00C4CC, #7D2AE8); }
.rec-mock.doc { background: linear-gradient(135deg, var(--petroleo), #0A4A63); }
.mk-win { width: 100%; max-width: 420px; background: #fff; border-radius: 16px; box-shadow: 0 24px 50px rgba(0,0,0,.18); padding: 14px; display: grid; gap: 10px; }
.mk-bar { display: flex; gap: 6px; align-items: center; }
.mk-bar i { width: 9px; height: 9px; border-radius: 50%; background: #E3E2DE; }
.mk-bar b { margin-left: 8px; font: 700 .82rem var(--font-titulo); color: #37352F; }
/* calendario */
.mk-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.mk-cal span { aspect-ratio: 1; border-radius: 6px; background: #F7F6F3; position: relative; }
.mk-cal span.c::after { content: ""; position: absolute; left: 3px; right: 3px; bottom: 4px; height: 6px; border-radius: 3px; background: var(--cc, var(--coral)); opacity: 0; animation: chipIn 6s ease infinite; animation-delay: var(--d, 0s); }
@keyframes chipIn { 0%, 8% { opacity: 0; transform: scaleX(.3); } 18%, 85% { opacity: 1; transform: none; } 100% { opacity: 0; } }
/* canva */
.mk-canva { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; width: 100%; max-width: 400px; }
.mk-canva span { aspect-ratio: 4/5; border-radius: 12px; background: #fff; box-shadow: 0 12px 26px rgba(0,0,0,.2); display: grid; align-content: end; padding: 8px; gap: 5px; animation: flota 6s ease-in-out infinite; animation-delay: var(--d, 0s); }
.mk-canva span::before { content: ""; height: 46%; border-radius: 8px; background: var(--bg, var(--coral)); }
.mk-canva span i { height: 6px; border-radius: 3px; background: #E3E2DE; }
.mk-canva span i + i { width: 60%; }
/* contrato */
.mk-doc { width: 100%; max-width: 330px; background: #fff; border-radius: 14px; box-shadow: 0 24px 50px rgba(0,0,0,.3); padding: 24px 22px; display: grid; gap: 9px; }
.mk-doc b { font: 800 .9rem var(--font-titulo); color: var(--petroleo); letter-spacing: .08em; text-transform: uppercase; }
.mk-doc i { height: 7px; border-radius: 4px; background: #E7EBE9; }
.mk-doc i.h { background: rgba(79,196,232,.5); width: 45%; margin-top: 6px; }
.mk-doc i.c { width: 80%; } .mk-doc i.d { width: 65%; }
.mk-firma { margin-top: 14px; display: flex; justify-content: space-between; align-items: end; }
.mk-firma svg { width: 110px; height: 40px; }
.mk-firma path { stroke: var(--coral); stroke-width: 2.5; fill: none; stroke-linecap: round; stroke-dasharray: 220; stroke-dashoffset: 220; animation: firma 6s ease infinite; }
@keyframes firma { 0%, 15% { stroke-dashoffset: 220; } 50%, 90% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 0; opacity: 0; } }
.mk-sello { width: 44px; height: 44px; border-radius: 50%; border: 3px solid #19B37E; color: #19B37E; display: grid; place-items: center; font-weight: 800; opacity: 0; animation: pop 6s ease infinite 3s; }
/* crm */
.mk-crm { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.mk-col { background: #F7F6F3; border-radius: 10px; padding: 8px; display: grid; gap: 6px; align-content: start; min-height: 150px; }
.mk-col small { font: 700 .68rem var(--font-titulo); color: #787774; text-transform: uppercase; letter-spacing: .04em; }
.mk-tar { background: #fff; border-radius: 7px; padding: 7px; box-shadow: 0 2px 6px rgba(0,0,0,.08); display: grid; gap: 4px; }
.mk-tar i { height: 5px; border-radius: 3px; background: #E3E2DE; }
.mk-tar i:first-child { background: var(--tc, var(--celeste)); width: 50%; }
.mk-tar.mueve { animation: mueve 7s ease-in-out infinite; }
@keyframes mueve { 0%, 20% { transform: translateX(0); } 40%, 60% { transform: translateX(calc(100% + 8px)); } 80%, 100% { transform: translateX(calc(200% + 16px)); } }
@media (prefers-reduced-motion: reduce) { .rec-mock * { animation: none !important; opacity: 1 !important; stroke-dashoffset: 0 !important; } }
.rec-cuerpo { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: start; }
@media (max-width: 860px) { .rec-cuerpo { grid-template-columns: 1fr; } }
.rec-incl { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 12px; }
.rec-incl li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 12px; background: var(--blanco); border: 1px solid var(--linea); border-radius: 16px; padding: 14px 16px; }
.rec-incl li::before { content: "✓"; width: 26px; height: 26px; border-radius: 50%; background: rgba(241,89,70,.12); color: var(--coral); display: grid; place-items: center; font-weight: 800; font-size: .85rem; }
.rec-lado { display: grid; gap: 16px; }
.rec-box { background: var(--petroleo); color: #DCE7EC; border-radius: 22px; padding: 22px; display: grid; gap: 10px; }
.rec-box h3 { color: #fff; font-size: 1.05rem; }
.rec-box ul { margin: 0; padding-left: 18px; display: grid; gap: 6px; }
.rec-box.claro { background: var(--blanco); color: var(--gris-azulado); border: 1px solid var(--linea); }
.rec-box.claro h3 { color: var(--petroleo); }
.rec-nota { font-size: .9rem; color: #8A5A00; background: #FFF1DC; border-radius: 14px; padding: 12px 14px; margin: 0; }

/* ===== v40: tienda de recursos ===== */
.tienda { background: var(--noche); padding-top: clamp(40px, 6vw, 64px); }
.tienda-hero h1 { font-size: clamp(2.6rem, 6vw, 4.2rem); }
.tp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 760px) { .tp-grid { grid-template-columns: 1fr; } }
.tp-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 26px; padding: 14px; display: flex; flex-direction: column; transition: transform .25s ease, border-color .25s ease; }
.tp-card:hover { transform: translateY(-6px); border-color: rgba(79,196,232,.5); }
.tp-vis { position: relative; display: grid; place-items: center; height: 250px; border-radius: 18px; overflow: hidden; text-decoration: none; }
.tp-vis.notion { background: radial-gradient(circle at 80% 15%, rgba(79,196,232,.55), transparent 55%), linear-gradient(135deg, #0A4A63, #012C3D); }
.tp-vis.canva { background: linear-gradient(135deg, #00C4CC, #7D2AE8); }
.tp-vis.doc { background: radial-gradient(circle at 20% 90%, rgba(241,89,70,.55), transparent 55%), linear-gradient(135deg, #0A4A63, #001C28); }
.tp-mock { display: grid; place-items: center; width: 100%; transform: scale(.78); transition: transform .35s ease; }
.tp-card:hover .tp-mock { transform: scale(.82) translateY(-4px); }
.tp-body { padding: 18px 10px 8px; display: grid; gap: 10px; flex: 1; align-content: start; }
.tp-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.tp-tags span { font: 600 .72rem var(--font-titulo); letter-spacing: .06em; text-transform: uppercase; color: #C9D6DC; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: 4px 10px; }
.tp-body h3 { color: #fff; font-size: 1.3rem; }
.tp-body p { color: #B7C7CF; margin: 0; }
.tp-pie { margin-top: auto; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.tp-precio small { display: block; font: 600 .72rem var(--font-titulo); letter-spacing: .06em; text-transform: uppercase; color: #8FA6B0; }
.tp-precio b { font: 800 1.35rem var(--font-titulo); color: #fff; }
.tp-btns { display: flex; gap: 8px; align-items: center; }
.tp-det { font: 600 .95rem var(--font-titulo); color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: 12px 20px; }
.tp-det:hover { background: rgba(255,255,255,.08); }
.tp-btns .btn { padding: 12px 22px; }
.tp-mock .rec-mock { display: grid; background: transparent; min-height: 0; padding: 0; width: 100%; border-radius: 0; overflow: visible; }
.tp-mock .rec-mock.notion > * { box-shadow: 0 24px 48px rgba(0,0,0,.35); }
.nav a { white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .tp-card, .tp-mock { transition: none; } .tp-card:hover { transform: none; } }

/* ===== v41: precios y kit ===== */
.tp-tags span.gratis { background: var(--celeste); border-color: var(--celeste); color: var(--petroleo); }
.tp-tags span.ahorro { background: var(--coral); border-color: var(--coral); color: #fff; }
.tp-precio s { color: #8FA6B0; }
.tp-kit { grid-column: 1 / -1; display: grid; grid-template-columns: 1.1fr 1fr; gap: 10px; border-color: rgba(241,89,70,.45); background: linear-gradient(135deg, rgba(241,89,70,.1), rgba(255,255,255,.03)); }
.tp-kit .tp-body { padding: 18px 18px 8px; }
.tp-kit .tp-body h3 { font-size: 1.6rem; }
.tp-vis.doble { grid-template-columns: 1fr 1fr; gap: 0; height: 100%; min-height: 250px; background: radial-gradient(circle at 20% 90%, rgba(241,89,70,.5), transparent 55%), linear-gradient(135deg, #0A4A63, #001C28); }
.tp-vis.doble .tp-mock { transform: scale(.72); }
@media (max-width: 760px) { .tp-kit { grid-template-columns: 1fr; } .tp-vis.doble { grid-template-columns: 1fr; min-height: 250px; } .tp-vis.doble .tp-mock { grid-area: 1 / 1; transform: translate(-16%, -6%) scale(.62); } .tp-vis.doble .tp-mock + .tp-mock { transform: translate(18%, 14%) scale(.62); } .tp-kit .tp-body { padding: 18px 10px 8px; } }
.descarga { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 64px); align-items: center; }
@media (max-width: 860px) { .descarga { grid-template-columns: 1fr; } }
.rec-box.kit { background: var(--petroleo); color: #DCE7EC; border-color: var(--petroleo); }
.rec-box.kit h3 { color: var(--coral); }

/* ===== v42: aviso de modelos legales ===== */
.tp-body p.tp-nota { font-size: .82rem; color: #8FA6B0; border-left: 2px solid var(--coral); padding-left: 10px; }
.rec-aviso { background: #FFF6E5; border: 1px solid #F2D9A6; border-radius: 16px; padding: 16px 18px; color: #5A4210; }
.rec-aviso strong { font-family: var(--font-titulo); display: block; margin-bottom: 4px; }
.rec-aviso p { margin: 0; font-size: .95rem; }
.rec-incl li { display: block; position: relative; padding-left: 54px; }
.rec-incl li::before { position: absolute; left: 16px; top: 13px; }
.rec-legal { font-size: .85rem; color: #5B6B73; margin: 12px 0 0; max-width: 46ch; }

/* ===== v43: volver arriba ===== */
.subir { position: fixed; right: calc(16px + env(safe-area-inset-right, 0px)); bottom: calc(76px + env(safe-area-inset-bottom, 0px)); z-index: 30; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); background: var(--petroleo); color: #fff; display: grid; place-items: center; cursor: pointer; box-shadow: 0 6px 18px rgba(1,44,61,.3); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .25s, transform .25s, visibility .25s, background .2s; }
.subir.ver { opacity: 1; visibility: visible; transform: none; }
.subir:hover { background: var(--coral); border-color: var(--coral); }
.subir:focus-visible { outline: 3px solid var(--celeste); outline-offset: 3px; }
.subir svg { width: 22px; height: 22px; }
@media (prefers-reduced-motion: reduce) { .subir { transition: none; } }

/* ===== v44: cursos gratis ===== */
.sec-marfil-suave { background: var(--marfil); padding-top: 0; }
.rd-precio.gratis { background: rgba(79,196,232,.18) !important; color: var(--petroleo) !important; }
.cc-badge.gratis { background: var(--celeste); color: var(--petroleo); }
.pend-nota { border: 1px dashed #C9B37A; background: #FFF8E8; color: #6B5320; border-radius: 12px; padding: 10px 12px; font-size: .9rem; }

/* ===== v45: vitrina de Relab ===== */
.rl-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1000px) { .rl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .rl-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin-inline: -16px; padding: 0 16px 8px; } .rl-card { flex: 0 0 82%; scroll-snap-align: start; } }
.rl-card { display: flex; flex-direction: column; text-decoration: none; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 20px; padding: 10px; color: #C9D6DC; transition: transform .25s ease, border-color .25s ease; }
.rl-card:hover { transform: translateY(-6px); border-color: rgba(241,89,70,.55); }
.rl-shot { display: block; border-radius: 12px; overflow: hidden; background: #fff; box-shadow: 0 18px 36px rgba(0,0,0,.35); }
.rl-bar { display: flex; align-items: center; gap: 5px; padding: 7px 10px; background: #E9ECEC; }
.rl-bar i { width: 7px; height: 7px; border-radius: 50%; background: #C3CACC; }
.rl-bar small { margin-left: 6px; font: 500 .68rem var(--font-texto); color: #5B6B73; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rl-shot img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; transition: transform .5s ease; }
.rl-card:hover .rl-shot img { transform: scale(1.04); }
.rl-txt { display: grid; gap: 6px; padding: 14px 6px 6px; }
.rl-tipo { font: 700 .7rem var(--font-titulo); letter-spacing: .08em; text-transform: uppercase; color: var(--celeste); }
.rl-txt b { font: 700 1.05rem var(--font-titulo); color: #fff; }
.rl-txt > span:not(.rl-tipo):not(.link-flecha) { font-size: .92rem; line-height: 1.45; }
.rl-txt .link-flecha { color: #DCE7EC; margin-top: 4px; }
@media (prefers-reduced-motion: reduce) { .rl-card, .rl-shot img { transition: none; } .rl-card:hover { transform: none; } }

/* ===== v46: servicios con ficha, cta con foto, blog y guía por dentro ===== */
.sv-hero-btns { align-items: center; gap: 18px; }
.sv-hero-link { color: #DCE7EC; font: 600 .95rem var(--font-titulo); text-decoration: none; border-bottom: 2px solid rgba(79,196,232,.6); padding-bottom: 2px; }
.sv-hero-link:hover { color: #fff; border-color: var(--coral); }
.serv-detalle.sv2 { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; padding-block: clamp(40px, 6vw, 72px); }
.sv2-txt h2 { font-size: clamp(2rem, 4vw, 2.8rem); margin: 10px 0 14px; }
.sv2-txt > p { font-size: 1.08rem; max-width: 52ch; }
.sv2-sub { font: 700 .78rem var(--font-titulo); letter-spacing: .08em; text-transform: uppercase; color: var(--coral); margin: 22px 0 0; }
.sv-ficha { position: relative; overflow: hidden; background: radial-gradient(circle at 0% 0%, rgba(241,89,70,.35), transparent 45%), linear-gradient(160deg, #0A3F55, var(--noche)); color: #DCE7EC; border-radius: 24px; padding: clamp(24px, 3vw, 34px); box-shadow: 0 30px 60px rgba(1,44,61,.28); display: grid; gap: 6px; }
.sv-f-eb { font: 700 .72rem var(--font-titulo); letter-spacing: .1em; text-transform: uppercase; color: #9DB1BA; }
.sv-f-precio { font: 800 clamp(2rem, 4vw, 2.6rem) var(--font-titulo); color: var(--coral); letter-spacing: -0.02em; line-height: 1.1; }
.sv-f-nota { margin: 0 0 10px; font-size: .92rem; color: #B7C7CF; }
.sv-f-datos { display: grid; grid-template-columns: 1fr 1fr; margin: 6px 0 18px; border-top: 1px solid rgba(255,255,255,.12); }
.sv-f-datos div { padding: 14px 12px 14px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.sv-f-datos div:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.12); }
.sv-f-datos div:nth-child(even) { padding-left: 14px; }
.sv-f-datos dd { margin: 0; font: 600 .98rem var(--font-titulo); color: #fff; line-height: 1.3; }
.sv-f-datos dt { order: 2; margin-top: 4px; font: 700 .68rem var(--font-titulo); letter-spacing: .08em; text-transform: uppercase; color: #8FA6B0; }
.sv-f-datos div { display: flex; flex-direction: column; }
.sv-f-btn { justify-content: center; width: 100%; }
@media (max-width: 860px) { .serv-detalle.sv2 { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .sv-f-datos { grid-template-columns: 1fr; } .sv-f-datos div:nth-child(odd) { border-right: 0; } .sv-f-datos div:nth-child(even) { padding-left: 0; } }
.cta-split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 64px); align-items: center; text-align: left; }
.cta-foto .cta-txt .btns { justify-content: flex-start; }
.cta-img { margin: 0; position: relative; }
.cta-img::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; border-radius: 28px; background: linear-gradient(135deg, var(--celeste), var(--coral)); opacity: .35; }
.cta-img img { position: relative; display: block; width: 100%; height: auto; border-radius: 28px; box-shadow: 0 24px 48px rgba(1,44,61,.2); }
@media (max-width: 860px) { .cta-split { grid-template-columns: 1fr; } .cta-img { max-width: 440px; } }
.rl-grid.tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1000px) { .rl-grid.tres { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rl-dc-vis { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 11.2; background: radial-gradient(circle at 70% 20%, rgba(255,255,255,.25), transparent 50%), linear-gradient(135deg, #D97757, #B4532F); }
.rl-dc-ic { width: 76px; height: 76px; border-radius: 22px; background: rgba(255,255,255,.18); display: grid; place-items: center; }
.rl-dc-ic svg { width: 44px; height: 44px; fill: #fff; }
.rl-dc-badge { position: absolute; top: 12px; right: 12px; background: #fff; color: #B4532F; font: 700 .7rem var(--font-titulo); letter-spacing: .06em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; }
.gp-tour { display: grid; gap: 18px; }
.gpt-tabs { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; background: #fff; border: 1px solid var(--linea); border-radius: 18px; padding: 6px; }
.gpt-tabs button { display: flex; align-items: center; gap: 10px; border: 0; background: transparent; padding: 12px 14px; border-radius: 12px; font: 600 .95rem var(--font-titulo); color: var(--petroleo); cursor: pointer; text-align: left; transition: background .2s, color .2s; }
.gpt-tabs button:hover { background: var(--marfil); }
.gpt-tabs button[aria-selected="true"] { background: var(--petroleo); color: #fff; }
.gpt-n { font: 800 .8rem var(--font-titulo); color: var(--coral); }
.gpt-tabs button[aria-selected="true"] .gpt-n { color: var(--celeste); }
.gpt-tabs button:focus-visible { outline: 3px solid var(--celeste); outline-offset: 2px; }
.gpt-prog { position: absolute; left: 12px; right: 12px; bottom: 2px; height: 3px; border-radius: 3px; overflow: hidden; }
.gpt-prog i { display: block; height: 100%; width: 0; background: var(--coral); }
.gp-tour.corre .gpt-prog i { animation: gptProg 6s linear forwards; }
@keyframes gptProg { to { width: 100%; } }
.gpt-frame { border-radius: 18px; overflow: hidden; background: #fff; border: 1px solid var(--linea); box-shadow: 0 30px 60px rgba(1,44,61,.18); }
.gpt-panel { margin: 0; animation: gptIn .45s ease; }
.gpt-panel img { display: block; width: 100%; height: auto; }
.gpt-panel figcaption { padding: 16px 20px; font-size: 1rem; color: var(--petroleo); border-top: 1px solid var(--linea); background: var(--marfil); }
@keyframes gptIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.gp-chips { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.gp-chips li { background: #fff; border: 1px solid var(--linea); border-radius: 999px; padding: 8px 14px; font: 600 .88rem var(--font-titulo); color: var(--petroleo); }
.gp-chips li::before { content: "✓"; color: var(--coral); margin-right: 8px; }
@media (max-width: 760px) { .gpt-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gpt-tabs button { font-size: .88rem; padding: 10px; } }
.gp-cert-sec { background: var(--petroleo); color: #DCE7EC; }
.gp-cert-sec h2 { color: #fff; }
.gp-cert-sec h2 em { color: var(--celeste); font-style: normal; }
.gp-cert-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
@media (max-width: 860px) { .gp-cert-wrap { grid-template-columns: 1fr; } }
.gp-cert-pasos { list-style: none; counter-reset: cp; margin: 22px 0 26px; padding: 0; display: grid; gap: 14px; }
.gp-cert-pasos li { counter-increment: cp; display: grid; grid-template-columns: 40px 1fr; column-gap: 14px; }
.gp-cert-pasos li::before { content: counter(cp); grid-row: span 2; width: 40px; height: 40px; border-radius: 50%; background: var(--coral); color: #fff; display: grid; place-items: center; font: 800 1rem var(--font-titulo); }
.gp-cert-pasos b { color: #fff; font-family: var(--font-titulo); }
.gp-cert-pasos span { color: #B7C7CF; font-size: .95rem; }
.gp-diploma { position: relative; display: grid; gap: 14px; justify-items: center; perspective: 1200px; }
.gp-cert-hoja { position: relative; overflow: hidden; width: 100%; max-width: 520px; aspect-ratio: 1.414 / 1; background: #fff; border-radius: 14px; box-shadow: 0 40px 80px rgba(0,0,0,.45); display: grid; align-content: center; justify-items: center; gap: 10px; padding: 34px 28px 54px; text-align: center; transform: rotateY(-8deg) rotate(-1deg); transition: transform .5s ease; }
.gp-diploma:hover .gp-cert-hoja { transform: none; }
.gp-cert-banda { position: absolute; top: 0; left: 0; right: 0; height: 22px; background: var(--petroleo); border-bottom: 5px solid var(--coral); }
.gp-cert-logo { width: 74px; height: auto; margin-bottom: 4px; }
.gp-cert-eb { font: 700 .72rem var(--font-titulo); letter-spacing: .16em; text-transform: uppercase; color: var(--coral); }
.gp-cert-nombre { font: 800 clamp(1.6rem, 3.4vw, 2.3rem) var(--font-titulo); color: var(--petroleo); min-height: 1.2em; }
.gp-cert-tw { display: inline-block; overflow: hidden; white-space: nowrap; border-right: 2px solid var(--coral); animation: certTw 3.2s steps(9) infinite alternate, certCur .8s step-end infinite; }
@keyframes certTw { 0%, 20% { width: 0; } 70%, 100% { width: 9ch; } }
@keyframes certCur { 50% { border-color: transparent; } }
.gp-cert-linea { width: 64px; height: 3px; background: var(--coral); border-radius: 3px; }
.gp-cert-curso { font: 600 1.05rem var(--font-titulo); color: #0A4A63; }
.gp-cert-idea { display: flex; gap: 22px; font: 800 1rem var(--font-titulo); color: var(--coral); }
.gp-cert-idea i { font-style: normal; }
.gp-cert-pie { position: absolute; left: 22px; right: 22px; bottom: 16px; display: flex; justify-content: space-between; gap: 10px; font: 600 .68rem var(--font-titulo); color: #5B6B73; letter-spacing: .04em; }
.gp-cert-sello { color: var(--petroleo); }
.gp-cert-brillo { position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.7) 50%, transparent 60%); transform: translateX(-100%); animation: certBrillo 5s ease-in-out infinite; pointer-events: none; }
@keyframes certBrillo { 0%, 60% { transform: translateX(-100%); } 85%, 100% { transform: translateX(100%); } }
.gp-cert-li { display: inline-flex; align-items: center; gap: 10px; background: #0A66C2; color: #fff; font: 600 .92rem var(--font-titulo); padding: 10px 16px; border-radius: 999px; }
.gp-cert-li b { background: #fff; color: #0A66C2; border-radius: 4px; padding: 0 5px; font-size: .8rem; }
@media (prefers-reduced-motion: reduce) { .gp-cert-tw, .gp-cert-brillo, .gpt-panel { animation: none; } .gp-cert-tw { width: auto; border: 0; } .gp-cert-hoja { transform: none; } }

/* ===== v47: precio de Dominando Claude en ARS y USD ===== */
.moneda-tg { justify-self: center; display: inline-flex; padding: 4px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); }
.moneda-tg button { border: 0; background: transparent; color: #D6D4CC; font: 700 .85rem var(--font-titulo); letter-spacing: .06em; padding: 8px 18px; border-radius: 999px; cursor: pointer; }
.moneda-tg button[aria-pressed="true"] { background: var(--coral); color: #fff; }
.moneda-tg button:focus-visible { outline: 3px solid var(--celeste); outline-offset: 2px; }
.precio-m { display: grid; justify-items: center; gap: 4px; }
.precio-m .monto { font: 800 clamp(2.8rem, 7vw, 4.4rem) var(--font-titulo); color: #fff; letter-spacing: -0.03em; line-height: 1; }
.precio-m .antes { color: #A3A19B; font: 600 1.1rem var(--font-titulo); }
.precio-sub { color: #A3A19B; font-size: .95rem; }
.precio-box[data-moneda="ars"] .precio-usd, .precio-box[data-moneda="usd"] .precio-ars { display: none !important; }
.cc-usd { display: block; font-size: .85rem; color: var(--texto-suave, #5B6B73); margin-top: 2px; }

/* Footer */
.site-footer { background: var(--petroleo); color: #B9C9D1; font-size: .95rem; }
.site-footer .wrap { padding-block: 48px 32px; display: grid; gap: 32px; }
.foot-cols { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)); gap: 32px; }
@media (max-width: 760px) { .foot-cols { grid-template-columns: 1fr; } }
.site-footer h4 { color: var(--marfil); font-size: .95rem; margin-bottom: 10px; }
.site-footer a { color: #DCE7EC; text-decoration: none; }
.site-footer a:hover { color: var(--celeste); }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.foot-legal { border-top: 1px solid rgba(255,255,255,.12); padding-top: 18px; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: .85rem; }

/* WhatsApp flotante */
.wa-flot { position: fixed; right: calc(16px + env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 30; background: #1F8F4E; color: #fff; border-radius: 999px; padding: 12px 18px; font: 600 .95rem var(--font-titulo); text-decoration: none; display: inline-flex; gap: 8px; align-items: center; box-shadow: 0 6px 18px rgba(1,44,61,.25); }
.wa-flot svg { width: 20px; height: 20px; }
[hidden] { display: none !important; }
.nav a.btn[aria-current] { color: #fff; }
