/* IA Pro Academy — Home v2
   Humano × Inteligencia Artificial. Premium, cálido, dinámico, con profundidad. */

:root{
  --ink: #14120f;
  --ink-2: #201d18;
  --paper: #f6f1e7;
  --paper-alt: #eee6d6;
  --line: #e2d8c2;
  --line-dark: #34302a;

  --coral: #ff5a3c;
  --coral-dark: #d6431f;
  --violet: #6c56f5;
  --lime: #c9ff5c;
  --teal: #1f6f5c;

  --ink-soft: #5a5548;
  --cream-soft: #cfc7b4;

  --serif: "Fraunces", Georgia, serif;
  --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --container: 1220px;
  --radius: 6px;
  --ease: cubic-bezier(.22,.9,.3,1);
}

*{ box-sizing: border-box; margin:0; padding:0; }
html{ scroll-behavior: smooth; }

body{
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img{ max-width:100%; display:block; }

.container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
}

.skip-link{
  position:absolute; left:-999px; top:0;
  background:var(--ink); color:var(--paper); padding:12px 20px; z-index:300;
}
.skip-link:focus{ left:16px; top:16px; }

h1,h2,h3{
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--ink);
}
h2{ font-size: clamp(1.8rem, 3vw, 2.6rem); line-height:1.15; }
h3{ font-size: 1.15rem; font-weight:600; font-family: var(--sans); }
p{ color: var(--ink-soft); }

.eyebrow{
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--coral-dark);
  font-weight: 700;
  margin-bottom: 14px;
}
.eyebrow-light{ color: var(--lime); }

.hl{ font-style: italic; font-family: var(--serif); }
.hl-accent{ color: var(--coral); font-style: normal; }

/* Cursor glow */
.cursor-glow{
  position: fixed; top:0; left:0; width: 420px; height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,90,60,0.16), rgba(108,86,245,0.10) 45%, transparent 70%);
  pointer-events: none; z-index: 5;
  transform: translate(-50%,-50%);
  opacity: 0; transition: opacity .4s ease;
  filter: blur(4px);
}
.cursor-glow.active{ opacity: 1; }

/* Reveal on scroll */
.reveal{ opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in{ opacity: 1; transform: translateY(0); }
.reveal-delay{ opacity: 0; transform: translateY(20px) scale(.98); transition: opacity .7s var(--ease) .15s, transform .7s var(--ease) .15s; }
.reveal-delay.in{ opacity: 1; transform: translateY(0) scale(1); }

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family: var(--sans); font-weight: 700; font-size: 0.92rem;
  text-decoration:none; border-radius: 100px;
  padding: 13px 26px; border: 1px solid transparent;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
  white-space: nowrap;
}
.btn-primary{ background: var(--coral); color: var(--ink); }
.btn-primary:hover{ background: var(--ink); color: var(--paper); transform: translateY(-2px); }
.btn-secondary{ background: transparent; color: var(--ink); border-color: var(--ink); }
.btn-secondary:hover{ background: var(--ink); color: var(--paper); }
.btn-secondary-light{ background: transparent; color: var(--paper); border-color: rgba(246,241,231,.4); }
.btn-secondary-light:hover{ background: var(--paper); color: var(--ink); }
.btn-ghost{ background: transparent; color: var(--ink); border-color: var(--line); padding: 10px 20px; }
.btn-ghost:hover{ border-color: var(--ink); }
.btn-text{ padding: 0; color: var(--coral-dark); border-bottom: 1px solid transparent; border-radius:0; }
.btn-text:hover{ border-color: var(--coral-dark); }
.btn-text-light{ color: var(--lime); }
.btn-text-light:hover{ border-color: var(--lime); }
.btn-lg{ padding: 17px 34px; font-size: 1rem; }
.btn-kids{ background: var(--ink); color: var(--lime); }
.btn-kids:hover{ background: var(--lime); color: var(--ink); }

/* Header */
.site-header{
  position: sticky; top:0; z-index:100;
  background: rgba(20,18,15,0.72);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line-dark);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; height: 76px; }
.brand{
  font-family: var(--serif); font-size: 1.3rem; font-weight: 600;
  color: var(--paper); text-decoration:none; letter-spacing: -0.01em;
}
.main-nav{ display:flex; align-items:center; gap:40px; }
.main-nav ul{ display:flex; list-style:none; gap:32px; }
.main-nav a{
  text-decoration:none; color: var(--cream-soft); font-size:0.95rem; font-weight:500;
  padding: 6px 0; border-bottom: 1px solid transparent;
  transition: color .15s ease, border-color .15s ease;
}
.main-nav a:hover, .main-nav a.active{ color: var(--paper); border-color: var(--coral); }
.nav-actions{ display:flex; align-items:center; gap:14px; }
.site-header .btn-ghost{ color: var(--paper); border-color: var(--line-dark); }
.site-header .btn-ghost:hover{ border-color: var(--paper); }

.nav-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; }
.nav-toggle span{ width:22px; height:2px; background: var(--paper); }

/* ===== HERO ===== */
.hero{
  position: relative;
  background: var(--ink);
  color: var(--paper);
  padding: 96px 0 60px;
  overflow: hidden;
}
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-orb{
  position:absolute; border-radius:50%;
  filter: blur(70px); opacity:.55;
}
.orb-1{ width:520px; height:520px; background: radial-gradient(circle, var(--coral), transparent 70%); top:-140px; right:-80px; animation: float1 16s ease-in-out infinite; }
.orb-2{ width:420px; height:420px; background: radial-gradient(circle, var(--violet), transparent 70%); bottom:-160px; left:-100px; animation: float2 18s ease-in-out infinite; }
.hero-grid-lines{
  position:absolute; inset:0;
  background-image: linear-gradient(rgba(246,241,231,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(246,241,231,0.05) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, black 40%, transparent 80%);
}
@keyframes float1{ 0%,100%{ transform: translate(0,0); } 50%{ transform: translate(-30px, 40px); } }
@keyframes float2{ 0%,100%{ transform: translate(0,0); } 50%{ transform: translate(30px, -30px); } }

.hero-inner{ position: relative; z-index: 1; padding-top: 20px; }

.hero-kinetic{ font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: 1.04; font-weight: 500; max-width: 16em; color: var(--paper); }
.hero-kinetic .line{ display:block; overflow:hidden; }
.hero-kinetic .word{ display:inline-block; }
.word-outline{ -webkit-text-stroke: 1.5px var(--paper); color: transparent; }
.word-accent{ color: var(--coral); font-style: italic; }

.hero-foot{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-top: 32px; flex-wrap: wrap; }
.hero-lead{ font-size: 1.05rem; max-width: 40ch; color: var(--cream-soft); }
.hero-actions{ display:flex; align-items:center; gap:28px; flex-wrap:wrap; }

.hero-visual{ position: relative; margin-top: 64px; height: 420px; }
.hero-portrait{
  position:absolute; right: 0; top:0; width: 46%; height: 100%;
  border-radius: var(--radius); border-color: rgba(246,241,231,.18);
  background: var(--ink-2); color: var(--cream-soft);
}
.hero-card{
  position:absolute; background: var(--paper); color: var(--ink);
  border-radius: var(--radius); padding: 18px 20px; width: 240px;
  box-shadow: 0 20px 50px rgba(0,0,0,.35);
  display:flex; flex-direction:column; gap:4px;
}
.hero-card-eyebrow{ font-size:0.7rem; text-transform:uppercase; letter-spacing:.08em; color: var(--coral-dark); font-weight:700; }
.hero-card-title{ font-family: var(--serif); font-size: 1.05rem; }
.hero-card-1{ left: 0; top: 30px; transform: rotate(-3deg); }
.hero-card-2{ left: 18%; bottom: 0; transform: rotate(2deg); background: var(--lime); }

.scroll-cue{
  position: relative; z-index:1; display:flex; align-items:center; gap:10px;
  margin: 56px auto 0; width: fit-content; font-size:0.78rem; letter-spacing:.08em;
  text-transform: uppercase; color: var(--cream-soft);
}
.scroll-cue span{
  width: 1px; height: 34px; background: linear-gradient(var(--coral), transparent);
  display:block; animation: scrollDown 1.8s ease-in-out infinite;
}
@keyframes scrollDown{ 0%{ opacity:0; transform: translateY(-6px);} 50%{ opacity:1;} 100%{ opacity:0; transform: translateY(6px);} }

/* Sections base */
.section{ padding: 100px 0; position: relative; }

/* ===== Page hero (páginas internas) ===== */
.page-hero{
  position: relative; background: var(--ink); color: var(--paper);
  padding: 80px 0 88px; overflow: hidden;
}
.page-hero-inner{ position: relative; z-index: 1; max-width: 760px; }
.page-hero-title{
  font-size: clamp(2.2rem, 4.2vw, 3.2rem); line-height:1.1; color: var(--paper); margin: 6px 0 20px;
}
.page-hero-lead{ font-size: 1.05rem; max-width: 56ch; color: var(--cream-soft); }

/* ===== Catálogo ===== */
.catalogo{ background: var(--paper); padding-top: 64px; }
.catalog-filters{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom: 20px; }
.filter-pill{
  background: transparent; border: 1px solid var(--line); border-radius: 100px;
  padding: 10px 18px; font-family: var(--sans); font-size: 0.88rem; font-weight: 600;
  color: var(--ink-soft); cursor:pointer; transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.filter-pill:hover{ border-color: var(--ink); color: var(--ink); }
.filter-pill.active{ background: var(--ink); border-color: var(--ink); color: var(--paper); }

.catalog-count{ font-size: 0.85rem; color: var(--ink-soft); margin-bottom: 32px; }

.catalog-grid{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
}
.catalog-card{ transition: opacity .35s ease, transform .35s ease; }
.catalog-card.hide{
  display:none;
}
.catalog-card .placeholder{ margin-bottom: 4px; }

.catalog-empty{
  text-align:center; color: var(--ink-soft); font-size: 0.95rem;
  padding: 48px 0; border: 1px dashed var(--line); border-radius: var(--radius); margin-top: 8px;
}

/* Relacionados */
.related{ padding-top: 0; }
.related-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.related-card{
  display:block; text-decoration:none; border-radius: 18px; padding: 40px;
  transition: transform .25s ease;
}
.related-card:hover{ transform: translateY(-4px); }
.related-kids{ background: var(--ink-2); position: relative; overflow:hidden; }
.related-kids::before{
  content:""; position:absolute; inset:0;
  background: radial-gradient(circle at 20% 20%, rgba(201,255,92,0.25), transparent 55%);
}
.related-empresas{ background: var(--ink); }
.related-card h3{ color: var(--paper); font-size: 1.5rem; margin: 6px 0 12px; position:relative; z-index:1; }
.related-card p{ color: var(--cream-soft); max-width: 40ch; margin-bottom: 20px; position:relative; z-index:1; }
.related-link{ color: var(--lime); font-weight:700; font-size:0.92rem; position:relative; z-index:1; }
.related-link-light{ color: var(--coral); }

/* Explorador de rutas + destacados (programas.html) */
.route-examples{ list-style:none; margin: 18px 0 24px; display:flex; flex-wrap:wrap; gap:10px; }
.route-examples li{
  font-size:0.82rem; color: var(--cream-soft); border: 1px solid rgba(246,241,231,.22);
  border-radius:100px; padding: 6px 14px;
}

.destacados{ background: var(--paper-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.featured-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 36px; }
.featured-card{
  display:flex; flex-direction:column; text-decoration:none; color: var(--ink);
  border-radius: var(--radius); position:relative; transition: transform .25s ease;
}
.featured-card:hover{ transform: translateY(-4px); }
.featured-card .program-num{
  position:absolute; top:14px; left:14px; z-index:1; font-family: var(--serif); font-size:1.2rem;
  color: var(--paper); background: rgba(20,18,15,.55); border-radius:100px; width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
}
.featured-card h3{ margin: 16px 0 10px; font-size:1.08rem; }
.featured-card-sm{
  grid-column: span 1; background: var(--ink); color: var(--paper); border-radius: var(--radius);
  padding: 28px 24px; justify-content:flex-end; min-height: 160px;
}
.featured-card-sm h3{ color: var(--paper); margin-top:0; }
.featured-card-sm .program-num{ position:static; background:none; color: var(--coral); width:auto; height:auto; padding:0; margin-bottom:12px; }

/* ============ Página de ruta (categoria.html) ============ */
.breadcrumb{
  max-width: var(--container); margin: 0 auto; padding: 20px 32px 0;
  font-size: 0.82rem; color: var(--ink-soft);
}
.breadcrumb a{ color: var(--ink-soft); text-decoration:none; }
.breadcrumb a:hover{ color: var(--ink); }
.breadcrumb span{ margin: 0 6px; }

.route-hero .btn-primary{ background: var(--accent-program); }
.group-tabs-section{ padding: 40px 0 0; }
.route-products{ padding-top: 48px; }
.route-block + .route-block{ margin-top: 56px; }
.eyebrow-service{ color: var(--ink-soft); }
.route-list{ margin-top: 20px; }
.route-list .area-item{ display:grid; grid-template-columns: 50px 1fr auto; align-items:center; gap: 20px; }
.route-list .area-item h3{ font-size: 1.02rem; }

/* ============ Landing dedicada: Presentaciones con IA (presentaciones-ia.html) ============ */

/* Placeholder de asset (imagen definitiva pendiente) */
.pia-asset{ background-size: contain; background-position:center; background-repeat:no-repeat; }
.pia-asset:not(.placeholder){ background-color: rgba(0,0,0,0.18); }
.pia-asset[data-placeholder]::before{ content: attr(data-placeholder); padding: 0 12px; }

/* Hero */
.pia-hero{ position:relative; background: var(--ink); color: var(--paper); padding: 88px 0 56px; overflow:hidden; }
.pia-hero-bg{ position:absolute; inset:0; z-index:0; }
.pia-orb{ position:absolute; border-radius:50%; filter: blur(70px); opacity:.5; }
.pia-orb-1{ width:480px; height:480px; background: radial-gradient(circle, var(--coral), transparent 70%); top:-120px; left:-60px; animation: float1 17s ease-in-out infinite; }
.pia-orb-2{ width:420px; height:420px; background: radial-gradient(circle, var(--violet), transparent 70%); bottom:-140px; right:-80px; animation: float2 19s ease-in-out infinite; }
.pia-hero-grid{
  position:absolute; inset:0;
  background-image: linear-gradient(rgba(246,241,231,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(246,241,231,0.05) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 65% 55% at 70% 35%, black 30%, transparent 78%);
}
.pia-hero-inner-split{ position:relative; z-index:1; display:grid; grid-template-columns: 1.1fr 0.9fr; gap: 48px; align-items:center; }
.pia-hero-title{ font-family: var(--serif); font-weight:500; font-size: clamp(2rem, 4vw, 2.9rem); line-height:1.14; color: var(--paper); margin: 10px 0 20px; }
.pia-accent-text{ display:block; color: var(--coral); font-style: italic; font-size: 0.72em; margin-top: 8px; }
.pia-quickfacts{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin-bottom: 24px; }
.pia-quickfacts li{
  font-size:0.78rem; color: var(--cream-soft); border: 1px solid rgba(246,241,231,.22);
  border-radius:100px; padding: 6px 14px;
}
.pia-hero-deck{ position:relative; aspect-ratio: 4/3; }
.pia-hero-slide{
  position:absolute; border-radius: var(--radius); border-color: rgba(246,241,231,.22);
  color: var(--cream-soft); box-shadow: 0 30px 60px rgba(0,0,0,.4);
}
.pia-hero-slide-1{ inset: 8% 4% 4% 12%; z-index:3; transform: rotate(-2deg); }
.pia-hero-slide-2{ inset: 0 14% 14% 0; z-index:2; transform: rotate(6deg) scale(.96); opacity:.85; }
.pia-hero-slide-3{ inset: 4% 0 0 20%; z-index:1; transform: rotate(-9deg) scale(.9); opacity:.65; }

/* Problema (compacto) */
.pia-problem{ background: var(--paper); padding-bottom: 40px; }
.pia-problem-list{ list-style:none; margin-top: 20px; display:flex; flex-wrap:wrap; gap: 10px 28px; max-width: 900px; }
.pia-problem-list li{
  position:relative; padding-left: 22px; font-size:0.92rem; color: var(--ink-soft);
}
.pia-problem-list li::before{ content:"—"; position:absolute; left:0; color: var(--coral-dark); font-weight:700; }

/* Antes / Después */
.pia-ba{ background: var(--paper-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pia-ba-title{ max-width: 20ch; }
.pia-ba-lead{ margin-top: 12px; color: var(--ink-soft); max-width: 60ch; font-size:1.02rem; }
.pia-ba-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 32px; }
.pia-ba-side{ display:flex; flex-direction:column; gap:10px; }
.pia-ba-tag{ font-size:0.76rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700; color: var(--ink-soft); }
.pia-ba-tag-after{ color: var(--coral-dark); }
.pia-ba-asset{ aspect-ratio: 3/2; border-radius: var(--radius); }
.pia-ba-cta{ text-align:center; margin-top: 36px; }

/* Diferencial (compacto) */
.pia-diff{ background: var(--ink); color: var(--paper); padding: 56px 0; }
.pia-diff-inner{ max-width: 720px; }
.pia-diff h2{ color: var(--paper); font-size: clamp(1.5rem, 2.6vw, 2rem); margin-top:4px; }
.pia-diff-text{ color: var(--cream-soft); font-size:1rem; margin-top:12px; }

/* Temario — 5 bloques */
.pia-syllabus{ background: var(--paper-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pia-syllabus-list{ margin-top: 32px; border-top:1px solid var(--line); max-width: 820px; }
.pia-syllabus-item{ display:flex; gap: 20px; padding: 20px 0; border-bottom:1px solid var(--line); }
.pia-syllabus-num{ font-family: var(--serif); color: var(--coral); font-size:1.2rem; width: 32px; flex:none; }
.pia-syllabus-item h3{ margin-bottom:4px; font-size:1rem; }
.pia-syllabus-item p{ font-size:0.9rem; }

/* Galería visual */
.pia-gallery{ background: var(--ink); color: var(--paper); padding-bottom: 56px; }
.pia-gallery h2{ color: var(--paper); max-width: 18ch; }
.pia-gallery-note{ color: var(--cream-soft); margin-top: 6px; }
.pia-gallery-editorial{
  display:grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: 1fr 1fr; gap: 16px;
  margin-top: 32px; height: 480px;
}
.pia-gallery-big{ grid-row: 1 / 3; border-radius: var(--radius); border-color: rgba(246,241,231,.2); color: var(--cream-soft); transition: transform .3s var(--ease); }
.pia-gallery-med{ border-radius: var(--radius); border-color: rgba(246,241,231,.2); color: var(--cream-soft); transition: transform .3s var(--ease); }
.pia-gallery-big:hover, .pia-gallery-med:hover{ transform: translateY(-4px); }
.pia-gallery-track-wrap{ display:none; }
.pia-gallery-cta{ text-align:center; margin-top: 40px; }

/* Herramientas — compacto, con visual */
.pia-tools{ background: var(--paper); }
.pia-tools-grid{ display:grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; align-items:center; }
.pia-tools-lead{ margin-top: 6px; color: var(--ink-soft); }
.pia-tools-pills-row{ display:flex; flex-wrap:wrap; gap:10px; margin-top: 24px; }
.pia-tools-visual{ aspect-ratio: 3/2; border-radius: var(--radius); border-color: rgba(0,0,0,.12); color: var(--ink-soft); }

/* Formato + fecha + horarios (compacto) */
.pia-format{ background: var(--paper-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding: 36px 0; }
.pia-format-inner{ display:flex; flex-wrap:wrap; align-items:center; gap: 12px 20px; }
.pia-format-edition{ font-weight:600; color: var(--ink); font-size:0.98rem; }
.pia-format-schedule{ display:flex; flex-wrap:wrap; gap:8px; }
.pia-format-schedule span{ font-size:0.76rem; color: var(--ink-soft); border:1px solid var(--line); border-radius:100px; padding:4px 12px; }

/* Metodología (compacto) */
.pia-method{ background: var(--teal); padding: 48px 0; }
.pia-method-inner h2{ margin-top:6px; font-size: clamp(1.4rem, 2.4vw, 1.9rem); max-width: 22ch; }
.pia-method-row{ display:flex; flex-wrap:wrap; gap:10px; margin-top: 20px; }
.pia-method-row span{ font-size:0.8rem; color: var(--paper); border:1px solid rgba(246,241,231,.25); border-radius:100px; padding:6px 14px; }

/* Ayuda por WhatsApp (secundaria) */
.pia-help{ padding: 44px 0; }
.pia-help-inner{ text-align:center; max-width: 560px; margin:0 auto; }
.pia-help-title{ font-weight:700; color: var(--ink); font-size:1rem; }
.pia-help-text{ font-size:0.9rem; color: var(--ink-soft); margin: 8px 0 20px; }

/* Todo lo que recibes */
.pia-includes{ background: var(--ink); }
.pia-includes h2{ max-width: 26ch; }
.pia-includes-checklist{ list-style:none; display:grid; grid-template-columns: 1fr 1fr; gap: 12px 32px; margin: 32px 0 44px; max-width: 900px; }
.pia-includes-checklist li{ position:relative; padding-left: 26px; font-size:0.96rem; color: var(--paper); }
.pia-includes-checklist li::before{ content:"✓"; position:absolute; left:0; color: var(--coral); font-weight:700; }
.pia-invest{ border-top: 1px solid rgba(246,241,231,.15); padding-top: 32px; max-width: 420px; }
.pia-invest-label{ font-size:0.78rem; text-transform:uppercase; letter-spacing:.08em; color: var(--lime); font-weight:700; }
.pia-invest-price{ font-family: var(--serif); font-size:2rem; color: var(--paper); margin: 6px 0 20px; }

/* Lista numerada reutilizable (Empresas, IA Pro Kids, etc.) */
.areas-list{ list-style:none; border-top:1px solid var(--line); }
.area-item{
  display:flex; align-items:baseline; gap:20px;
  padding: 22px 0; border-bottom:1px solid var(--line);
}
.area-index{ font-family: var(--serif); font-size:1.2rem; color: var(--coral); flex:none; width:32px; }
.area-item h3{ margin-bottom:4px; }
.area-item p{ font-size:0.92rem; }

/* Para quién — compacto */
.pia-forwho-row{ display:grid; grid-template-columns: 1fr 1fr; gap: 16px 32px; margin-top: 24px; }
.pia-forwho-row span{ font-size:0.92rem; color: var(--ink-soft); }
.pia-forwho-row strong{ color: var(--ink); }

/* Cierre final */
.pia-close{ position:relative; background: var(--ink); overflow:hidden; text-align:center; }
.pia-close-bg{ position:absolute; inset:0; background: radial-gradient(ellipse 60% 80% at 50% 0%, rgba(255,90,60,0.22), transparent 60%); }
.pia-close-slide{
  position:absolute; width: 220px; aspect-ratio: 3/2; border-radius: var(--radius);
  border-color: rgba(246,241,231,.15); opacity:.35; z-index:0; font-size:0.7rem;
}
.pia-close-slide-1{ top:-40px; left:4%; transform: rotate(-8deg); }
.pia-close-slide-2{ bottom:-40px; right:4%; transform: rotate(7deg); }
.pia-close-inner{ position:relative; z-index:1; max-width: 520px; margin:0 auto; }
.pia-close-edition{ font-family: var(--serif); font-size:1.2rem; color: var(--paper); margin-top:10px; }
.pia-close-schedule{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin: 14px 0; }
.pia-close-schedule span{ font-size:0.76rem; color: var(--cream-soft); border:1px solid rgba(246,241,231,.2); border-radius:100px; padding:4px 12px; }
.pia-close-price{ font-family: var(--serif); font-size:1.8rem; color: var(--coral); margin: 12px 0 24px; }
.pia-close-note{ margin-top:16px; font-size:0.85rem; color: var(--cream-soft); }

/* Botón sin URL de compra activa todavía */
.btn-pending{ opacity:.85; }

/* CTA flotante (mobile) */
.pia-sticky-cta{
  position: fixed; left:0; right:0; bottom:0; z-index: 150;
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
  background: rgba(20,18,15,0.96); backdrop-filter: blur(8px);
  border-top: 1px solid var(--line-dark);
  transform: translateY(100%); transition: transform .3s var(--ease);
  display:none;
}
.pia-sticky-cta.visible{ transform: translateY(0); }
.pia-sticky-cta .btn{ width:100%; justify-content:center; }

@media (max-width: 960px){
  .pia-hero-inner-split{ grid-template-columns: 1fr; }
  .pia-hero-visual{ order:-1; width:100%; max-width: 360px; margin: 0 auto; }
  .pia-problem-grid{ grid-template-columns: 1fr; }
  .pia-includes-checklist{ grid-template-columns: 1fr; }
  .pia-forwho-row{ grid-template-columns: 1fr; }
  .pia-tools-grid{ grid-template-columns: 1fr; }
  .pia-tools-visual{ max-width: 320px; margin: 24px auto 0; }
  .pia-ba-grid{ grid-template-columns: 1fr; }
  .pia-close-slide{ width: 140px; opacity:.22; }
}

@media (max-width: 720px){
  .pia-sticky-cta{ display:block; }
  main{ padding-bottom: 76px; }
  .pia-hero{ padding: 56px 0 40px; }
  .pia-syllabus-item{ gap:16px; }
  .pia-cta{ white-space: normal; text-align:center; width:100%; }
  .pia-hero-inner-split .hero-actions .btn{ width:100%; justify-content:center; }
  .pia-invest{ max-width:none; }

  /* Galería: composición editorial → carrusel swipe (~1.15 visibles) */
  .pia-gallery-editorial{ display:none; }
  .pia-gallery-track-wrap{ display:block; overflow-x: auto; scrollbar-width:none; margin-top: 28px; }
  .pia-gallery-track-wrap::-webkit-scrollbar{ display:none; }
  .pia-gallery-track{ display:flex; gap: 14px; padding: 0 20px; width:max-content; scroll-snap-type: x proximity; }
  .pia-gallery-item{
    width: 82vw; aspect-ratio: 3/2; flex:none; scroll-snap-align:start;
    border-radius: var(--radius); border-color: rgba(246,241,231,.2); color: var(--cream-soft);
  }
}

/* ============ Landing individual de programa (programa.html) ============ */
:root{ --accent-program: var(--coral); }

.program-hero{
  position: relative; background: var(--ink); color: var(--paper);
  padding: 88px 0 72px; overflow: hidden;
}
.program-hero-inner{ position: relative; z-index: 1; max-width: 760px; }
.program-hero-title{
  font-size: clamp(2.2rem, 4.4vw, 3.4rem); line-height:1.08; color: var(--paper); margin: 8px 0 20px;
}
.program-hero .eyebrow-light{ color: var(--accent-program); }
.program-hero .btn-primary{ background: var(--accent-program); }
.program-audience{ margin-top: 24px; font-size: 0.88rem; color: var(--cream-soft); }

.program-shift{ background: var(--paper-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.program-shift-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.program-shift-text{ font-family: var(--serif); font-size: 1.3rem; line-height:1.35; color: var(--ink); }

.program-forwho-list, .program-learn-list{
  list-style:none; display:grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 28px;
}
.program-forwho-list li, .program-learn-list li{
  border: 1px solid var(--line); border-radius: var(--radius); padding: 20px;
  font-size: 0.94rem; color: var(--ink-soft); position: relative;
}
.program-learn-list li::before{ content:"→"; color: var(--accent-program); font-weight:700; margin-right:8px; }
.program-learn-list li.pending{ border-style: dashed; font-style: italic; }

/* Accordion (temario + FAQ) */
.syllabus-accordion, .faq-accordion{ max-width: 820px; margin-top: 32px; }
.accordion-item{ border-bottom: 1px solid var(--line); }
.accordion-trigger{
  width:100%; display:flex; align-items:center; gap:16px;
  background:none; border:none; text-align:left; cursor:pointer;
  padding: 22px 4px; font-family: var(--sans);
}
.accordion-num{ font-family: var(--serif); color: var(--accent-program); font-size:1.1rem; flex: none; width: 32px; }
.accordion-title{ flex:1; font-weight:600; font-size:1rem; color: var(--ink); }
.accordion-icon{ font-size:1.3rem; color: var(--ink-soft); transition: transform .25s ease; flex:none; }
.accordion-item.open .accordion-icon{ transform: rotate(45deg); }
.accordion-panel{ max-height:0; overflow:hidden; transition: max-height .35s var(--ease); }
.accordion-item.open .accordion-panel{ max-height: 600px; }
.accordion-panel p, .accordion-panel ul{ padding: 0 4px 22px 52px; color: var(--ink-soft); font-size:0.94rem; }
.faq-accordion .accordion-panel p{ padding-left: 4px; }
.accordion-panel ul{ list-style: disc; }
.accordion-panel li{ margin-bottom:6px; }
.syllabus-pending{
  border: 1px dashed var(--line); border-radius: var(--radius); padding: 32px;
  color: var(--ink-soft); font-size:0.94rem; margin-top: 28px;
}

.program-tools{ background: var(--paper-alt); }
.tools-pills{ display:flex; flex-wrap:wrap; gap:10px; margin-top: 24px; }
.tool-pill{
  border: 1px solid var(--line); border-radius:100px; padding: 8px 18px;
  font-size: 0.88rem; font-weight:600; color: var(--ink);
}
.pending-note{ color: var(--ink-soft); font-style: italic; font-size:0.92rem; margin-top: 20px; }

.program-how{ background: var(--ink); color: var(--paper); }
.program-how-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.program-how .meto-num{ font-family:var(--sans); text-transform:uppercase; letter-spacing:.08em; font-size:0.78rem; color: var(--accent-program); font-weight:700; display:block; margin-bottom:12px; }
.program-how-text{ color: var(--cream-soft); font-size:0.98rem; }

.program-project-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items:center; }

.program-cert{ background: var(--paper-alt); }

.program-testimonials{ background: var(--ink); color: var(--paper); }
.testimonials-row{ display:grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 28px; }
.program-testimonials .testimonial p{ color: var(--paper); }

.program-price{ position: relative; background: var(--ink); overflow:hidden; text-align:center; }
.price-bg{ position:absolute; inset:0; background: radial-gradient(ellipse 60% 80% at 50% 0%, color-mix(in srgb, var(--accent-program) 35%, transparent), transparent 60%); }
.program-price-inner{ position:relative; z-index:1; max-width: 560px; margin: 0 auto; }
.program-price-value{ font-family: var(--serif); font-size: 2rem; color: var(--paper); margin: 10px 0 24px; }
.program-price-note{ margin-top: 16px; font-size:0.82rem; color: var(--cream-soft); }
.program-price .btn-primary{ background: var(--accent-program); }
.btn-disabled{ opacity: 0.5; cursor: not-allowed; pointer-events: none; }

@media (max-width: 960px){
  .program-shift-grid, .program-how-grid, .program-project-grid, .testimonials-row{ grid-template-columns: 1fr; }
  .program-forwho-list, .program-learn-list{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px){
  .program-forwho-list, .program-learn-list{ grid-template-columns: 1fr; }
  .accordion-panel p, .accordion-panel ul{ padding-left: 4px; }
}

/* Intro */
.intro{ background: var(--paper); }
.intro-grid{ max-width: 820px; }
.intro-grid h2{ margin: 4px 0 24px; }
.intro-text{ font-size: 1.08rem; max-width: 62ch; }

/* Areas — interactive */
.areas{ background: var(--paper-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.areas h2{ margin-bottom: 40px; }
.areas-interactive{ }
.areas-tabs{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom: 40px; }
.area-tab{
  display:flex; align-items:center; gap:10px;
  background: transparent; border: 1px solid var(--line); border-radius: 100px;
  padding: 10px 20px 10px 14px; cursor:pointer; font-family: var(--sans);
  transition: background .25s ease, border-color .25s ease, color .25s ease;
}
.area-tab-index{ font-size:0.75rem; color: var(--ink-soft); font-weight:700; }
.area-tab-name{ font-size:0.92rem; font-weight:600; }
.area-tab:hover{ border-color: var(--ink); }
.area-tab.active{ background: var(--ink); border-color: var(--ink); color: var(--paper); }
.area-tab.active .area-tab-index{ color: var(--coral); }

.areas-stage{
  display:grid; grid-template-columns: 220px 1fr; gap: 48px; align-items:center;
  background: var(--ink); border-radius: 18px; padding: 48px; color: var(--paper); min-height: 220px;
}
.areas-stage-visual{ position:relative; display:flex; align-items:center; justify-content:center; height: 160px; }
.areas-orb{
  position:absolute; width: 140px; height:140px; border-radius:50%;
  background: radial-gradient(circle, var(--coral), var(--violet) 80%);
  filter: blur(2px); transition: background .4s ease;
}
.areas-stage-index{ position:relative; font-family: var(--serif); font-size: 2.6rem; color: var(--paper); z-index:1; }
.areas-stage-copy h3{ color: var(--paper); font-family: var(--serif); font-size: 1.6rem; font-weight:500; margin-bottom: 12px; }
.areas-stage-copy p{ color: var(--cream-soft); max-width: 52ch; font-size: 1.02rem; }

/* Programas — horizontal scroll */
.programas{ padding-bottom: 60px; }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom: 36px; gap: 24px; flex-wrap: wrap; }
.programs-track-wrap{ overflow-x: auto; scrollbar-width: none; padding: 4px 0 24px; }
.programs-track-wrap::-webkit-scrollbar{ display:none; }
.programs-track{ display:flex; gap: 28px; padding: 0 32px; width: max-content; }
.program-card{
  width: 340px; flex: none; scroll-snap-align: start;
  border-radius: var(--radius); overflow:hidden; background: var(--paper);
}
.programs-track{ scroll-snap-type: x proximity; }
.program-card{ position:relative; display:flex; flex-direction:column; }
.program-num{ position:absolute; top:14px; left:14px; z-index:1; font-family: var(--serif); font-size:1.4rem; color: var(--paper); background: rgba(20,18,15,.55); border-radius: 100px; width:38px; height:38px; display:flex; align-items:center; justify-content:center; }
.program-body{ padding: 20px 4px 0; }
.program-tag{ font-size:0.75rem; text-transform:uppercase; letter-spacing:.08em; color:var(--coral-dark); font-weight:700; margin-bottom:8px; }
.program-card h3{ margin-bottom:10px; font-size:1.1rem; }
.program-desc{ font-size:0.92rem; margin-bottom:14px; }
.program-meta{ display:flex; gap:16px; font-size:0.82rem; color:var(--ink-soft); margin-bottom:14px; }
.program-card-cta{
  width: 300px; display:flex; align-items:center; justify-content:center;
  background: var(--ink); color: var(--paper); border-radius: var(--radius); text-align:center;
}
.program-cta-inner{ padding: 32px; }
.program-cta-inner h3{ color: var(--paper); margin-bottom:10px; }
.program-cta-inner p{ color: var(--cream-soft); margin-bottom: 18px; font-size:0.92rem; }
.programs-dots{ display:flex; gap:8px; justify-content:center; }
.programs-dots span{ width:6px; height:6px; border-radius:50%; background: var(--line); transition: background .2s, transform .2s; }
.programs-dots span.active{ background: var(--coral); transform: scale(1.4); }

/* Programas especializados (Home) */
.specialized-head{ margin-top: 8px; }
.specialized-list{ list-style:none; border-top:1px solid var(--line); }
.specialized-item{
  display:flex; align-items:center; justify-content:space-between; gap: 24px;
  padding: 26px 0; border-bottom:1px solid var(--line);
}
.specialized-tag{ font-size:0.72rem; text-transform:uppercase; letter-spacing:.08em; color: var(--coral-dark); font-weight:700; display:block; margin-bottom:6px; }
.specialized-item h3{ margin-bottom:4px; }
.specialized-item p{ font-size:0.92rem; max-width: 52ch; }

/* Metodologia */
.metodologia{ background: var(--ink); color: var(--paper); }
.metodologia h2{ color: var(--paper); max-width: 14ch; }
.metodologia-grid{ display:grid; grid-template-columns: 0.9fr 1.1fr; gap:64px; }
.metodologia-list{ list-style:none; display:grid; grid-template-columns: 1fr 1fr; gap: 36px 40px; }
.meto-num{ display:block; font-family: var(--serif); color: var(--coral); font-size:1.3rem; margin-bottom: 10px; }
.metodologia-list h3{ color: var(--paper); margin-bottom:8px; }
.metodologia-list p{ color: var(--cream-soft); font-size:0.94rem; }

/* Kids — burst */
.kids{ position: relative; overflow: hidden; background: var(--ink-2); }
.kids-burst{
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(circle at 15% 20%, rgba(201,255,92,0.28), transparent 45%),
    radial-gradient(circle at 85% 75%, rgba(255,90,60,0.25), transparent 45%),
    radial-gradient(circle at 50% 100%, rgba(108,86,245,0.22), transparent 55%);
}
.kids-grid{ position:relative; z-index:1; display:grid; grid-template-columns: 0.85fr 1.15fr; gap:64px; align-items:center; }
.kids .eyebrow{ color: var(--lime); }
.kids-copy h2{ color: var(--paper); }
.kids-copy p{ color: var(--cream-soft); font-size:1.05rem; max-width:52ch; margin: 18px 0 28px; }
.kids .placeholder{ border-color: rgba(246,241,231,.25); background: rgba(255,255,255,0.04); color: var(--cream-soft); }

/* Empresas */
.empresas{ background: var(--paper); }
.empresas-grid{ display:grid; grid-template-columns: 1fr; }
.empresas-copy{ max-width: 640px; }
.empresas-copy p{ font-size:1.05rem; max-width:52ch; margin: 18px 0 28px; }

/* Confianza */
.confianza{ background: var(--ink); color: var(--paper); }
.confianza h2{ color: var(--paper); max-width: 24ch; margin-bottom: 16px; }
.confianza-mosaic{
  display:grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 140px;
  gap: 16px; margin: 44px 0 56px;
}
.stat-block{
  border: 1px solid var(--line-dark); border-radius: var(--radius);
  padding: 22px; display:flex; flex-direction:column; justify-content:flex-end;
  background: rgba(255,255,255,0.02);
  transition: border-color .2s ease, background .2s ease;
}
.stat-block:hover{ border-color: var(--coral); background: rgba(255,90,60,0.06); }
.stat-lg{ grid-column: span 2; grid-row: span 2; }
.stat-number{ display:block; font-family: var(--serif); font-size:1.6rem; color: var(--coral); margin-bottom:6px; }
.stat-lg .stat-number{ font-size: 2.4rem; }
.stat-label{ font-size:0.85rem; color: var(--cream-soft); }
.placeholder-photo{ grid-column: span 2; padding:0; }
.testimonial{ max-width: 720px; }
.testimonial p{ font-family: var(--serif); font-size:1.3rem; color: var(--paper); font-style:italic; margin-bottom:14px; }
.testimonial cite{ font-style:normal; font-size:0.88rem; color: var(--cream-soft); }

/* Placeholders */
.placeholder{
  background: var(--paper-alt); border: 1px dashed var(--line); color: var(--ink-soft);
  display:flex; align-items:center; justify-content:center; text-align:center;
  font-size: 0.8rem; line-height:1.5; padding: 24px; border-radius: var(--radius);
}
.placeholder-landscape{ aspect-ratio: 4/3; }
.placeholder-square{ aspect-ratio: 1/1; }

/* CTA final */
.cta-final{ background: var(--ink); overflow:hidden; }
.cta-final-bg{
  position:absolute; inset:0;
  background: radial-gradient(ellipse 60% 80% at 50% 0%, rgba(255,90,60,0.22), transparent 60%);
}
.cta-final-inner{ position:relative; z-index:1; text-align:center; max-width: 640px; margin:0 auto; }
.cta-final h2{ color: var(--paper); font-size: clamp(2rem, 4vw, 2.8rem); }
.cta-final p{ color: var(--cream-soft); margin: 16px 0 32px; }

/* Footer */
.site-footer{ background: var(--ink); color: var(--cream-soft); padding: 56px 0; border-top: 1px solid var(--line-dark); }
.footer-inner{ display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:32px; }
.footer-brand .brand{ font-size:1.1rem; color: var(--paper); }
.footer-brand p{ font-size:0.88rem; margin-top:6px; }
.footer-nav{ display:flex; gap:24px; flex-wrap:wrap; }
.footer-nav a{ color: var(--cream-soft); text-decoration:none; font-size:0.9rem; }
.footer-nav a:hover{ color: var(--paper); }
.footer-legal{ font-size:0.8rem; color: var(--ink-soft); width:100%; margin-top: 24px; }

/* Responsive */
@media (max-width: 960px){
  .metodologia-grid{ grid-template-columns: 1fr; }
  .metodologia-list{ grid-template-columns: 1fr; }
  .kids-grid{ grid-template-columns: 1fr; }
  .areas-stage{ grid-template-columns: 1fr; text-align:center; padding: 36px 24px; }
  .areas-stage-visual{ height: 120px; }
  .confianza-mosaic{ grid-template-columns: repeat(2,1fr); }
  .stat-lg{ grid-column: span 2; grid-row: span 1; }
  .placeholder-photo{ grid-column: span 2; height:140px; }
  .hero-visual{ height: 360px; }
  .catalog-grid{ grid-template-columns: 1fr 1fr; }
  .related-grid{ grid-template-columns: 1fr; }
  .featured-grid{ grid-template-columns: 1fr 1fr; }
  .route-list .area-item{ grid-template-columns: 40px 1fr; }
  .route-list .area-item a{ grid-column: span 2; margin-top:8px; }
}

/* El header (nav completo + CTA) no cabe entre ~720–1000px: activar el menú
   hamburguesa antes de que los enlaces se envuelvan o desborden. */
@media (max-width: 1000px){
  .nav-toggle{ display:flex; }
  .main-nav{
    position:absolute; top:76px; left:0; right:0;
    background: var(--ink); border-bottom:1px solid var(--line-dark);
    flex-direction:column; align-items:flex-start; gap:0;
    padding: 8px 20px 24px; display:none;
  }
  .main-nav.open{ display:flex; }
  .main-nav ul{ flex-direction:column; gap:0; width:100%; }
  .main-nav ul li{ width:100%; border-bottom:1px solid var(--line-dark); }
  .main-nav ul a{ display:block; padding: 14px 0; }
  .nav-actions{ flex-direction:column; align-items:flex-start; gap:12px; margin-top:16px; width:100%; }
  .nav-actions .btn{ width:100%; justify-content:center; }
}

@media (max-width: 720px){
  .container{ padding: 0 20px; }
  .cursor-glow{ display:none; }

  .hero{ padding: 56px 0 48px; }
  .hero-kinetic{ font-size: clamp(2.1rem, 9vw, 2.8rem); }
  .hero-foot{ flex-direction:column; align-items:flex-start; gap:24px; }
  .hero-visual{ height: auto; }
  .hero-portrait{ position:static; width:100%; height:260px; margin-bottom: 60px; }
  .hero-card{ width: auto; max-width: 240px; }
  .hero-card-1{ top: -50px; left:0; }
  .hero-card-2{ bottom:-40px; left:auto; right:0; }

  .section{ padding: 64px 0; }
  .areas-tabs{ gap:8px; }
  .area-tab{ padding: 8px 14px 8px 10px; }
  .programs-track{ padding: 0 20px; }
  .program-card{ width: 82vw; }
  .specialized-item{ flex-direction:column; align-items:flex-start; gap:12px; }
  .confianza-mosaic{ grid-template-columns: 1fr 1fr; grid-auto-rows: 120px; }
  .catalog-grid{ grid-template-columns: 1fr; }
  .related-card{ padding: 32px; }
  .featured-grid{ grid-template-columns: 1fr; }
}
