/* Fuentes autoalojadas: sin peticiones a Google, sin cookies de terceros (LSSI art. 22.2) */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 600;font-display:swap;src:url('fuentes/cormorant-var.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 600;font-display:swap;src:url('fuentes/cormorant-var-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:300 700;font-display:swap;src:url('fuentes/manrope-var.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --crema:#F7F1E8;
  --crema-2:#EFE6D8;
  --tinta:#1A1713;
  --tinta-suave:#4A4239;
  --terracota:#A34E2E;
  --terracota-osc:#9A4527;
  --salvia:#7E8B6F;
  --salvia-osc:#55604A;
  --oro:#C6A15B;
  --oro-texto:#8A6A22;
  --salvia-texto:#5C6950;
  --oro-claro:#E5CB95;
  --noche:#12100D;
  --noche-2:#1D1A15;
  --blanco:#FFFDF9;
  --sombra:0 18px 50px -22px rgba(26,23,19,.5);
  --sombra-alta:0 40px 80px -40px rgba(26,23,19,.6);
  --radio:18px;
  --display:'Cormorant Garamond', Georgia, serif;
  --cuerpo:'Manrope', -apple-system, system-ui, sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth;scroll-padding-top:96px}

/* Foco visible de teclado (WCAG 2.4.7) */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--terracota);
  outline-offset:3px;
  border-radius:6px;
}
.oscura :where(a,button,[tabindex]):focus-visible{outline-color:var(--oro-claro)}

/* Qué estudio · las tres palancas */
.palancas{background:linear-gradient(180deg,var(--crema) 0%,var(--crema-2) 100%)}
.palancas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem}
.palanca{position:relative;background:var(--blanco);border:1px solid rgba(26,23,19,.08);
  border-radius:var(--radio);padding:2.4rem 2rem 2rem;box-shadow:0 2px 20px -14px rgba(26,23,19,.4);
  transition:transform .3s,box-shadow .3s}
.palanca::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;border-radius:var(--radio) var(--radio) 0 0;
  background:linear-gradient(90deg,var(--terracota),var(--oro));opacity:0;transition:opacity .3s}
.palanca:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.palanca:hover::before{opacity:1}
.palanca .p-num{font-family:var(--display);font-size:2.6rem;font-weight:600;color:var(--oro-texto);
  line-height:1;display:block;margin-bottom:.8rem}
.palanca h3{font-size:1.55rem;margin-bottom:.7rem}
.palanca p{font-size:.95rem;color:var(--tinta-suave);line-height:1.7}
.palanca .p-etq{display:block;margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid rgba(26,23,19,.08);
  font-family:var(--cuerpo);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:600;color:var(--salvia-osc)}
@media(max-width:900px){.palancas-grid{grid-template-columns:1fr}}

/* Fila de precio + botón en las tarjetas de curso */
.precio-fila{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;flex-wrap:wrap}
.precio-fila .precio{font-family:var(--display);font-size:1.5rem;font-weight:600;color:var(--tinta);line-height:1}
.precio-fila .precio:empty{display:none}

/* Consentimiento RGPD del formulario */
.consent{display:flex;align-items:flex-start;gap:.65rem;margin:.2rem 0 .4rem;font-size:.88rem;line-height:1.5;cursor:pointer}
.consent input{width:18px;height:18px;flex:none;margin-top:.15rem;accent-color:var(--terracota)}

/* Podcast: carga bajo demanda, sin cookies de Spotify hasta que se pulsa */
.spotify-cargador{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;
  min-height:352px;border-radius:var(--radio);background:linear-gradient(150deg,var(--noche-2),#241F19);
  color:var(--crema);text-align:center;padding:2.4rem 1.6rem}
.spotify-cargador p{max-width:46ch;opacity:.78;font-size:.92rem;line-height:1.6}
.spotify-cargador .play{width:66px;height:66px;border-radius:50%;background:#1DB954;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:transform .25s}
.spotify-cargador .play:hover{transform:scale(1.07)}
.spotify-cargador .play svg{width:28px;height:28px;margin-left:3px;fill:#0B0B0B}

/* FAQ */
.faq-lista{max-width:78ch;margin:0 auto;display:flex;flex-direction:column;gap:.9rem}
.faq-item{background:var(--blanco);border:1px solid rgba(26,23,19,.09);border-radius:14px;overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;padding:1.15rem 1.4rem;font-family:var(--cuerpo);font-weight:600;
  font-size:1rem;color:var(--tinta);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-family:var(--display);font-size:1.5rem;color:var(--terracota);flex:none;line-height:1}
.faq-item[open] summary::after{content:"–"}
.faq-item .faq-cuerpo{padding:0 1.4rem 1.3rem;font-size:.95rem;line-height:1.7;color:var(--tinta-suave)}

/* Enlace de salto para lectores de pantalla y teclado */
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--tinta);color:var(--crema);
  padding:.8rem 1.2rem;border-radius:0 0 8px 0;font-family:var(--cuerpo);font-size:.9rem;font-weight:600;text-decoration:none}
.skip:focus{left:0}
body{
  font-family:var(--cuerpo);background:var(--crema);color:var(--tinta);
  line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.contenedor{width:min(1180px,92vw);margin-inline:auto}

h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.08;letter-spacing:-.01em}
.acento{font-style:italic;color:var(--terracota);font-weight:500}
.sup{font-family:var(--cuerpo);text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;font-weight:600;color:var(--oro-texto);display:inline-block}

.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--cuerpo);font-weight:600;font-size:.95rem;padding:.95em 1.7em;border-radius:999px;cursor:pointer;border:none;transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s,background .3s;white-space:nowrap}
.btn-primario{background:var(--terracota);color:var(--blanco);box-shadow:0 10px 24px -10px var(--terracota-osc)}
.btn-primario:hover{transform:translateY(-3px);box-shadow:0 16px 32px -12px var(--terracota-osc);background:var(--terracota-osc)}
.btn-fantasma{background:transparent;color:var(--tinta);border:1.5px solid rgba(43,39,34,.28)}
.btn-fantasma:hover{transform:translateY(-3px);border-color:var(--tinta);background:rgba(43,39,34,.04)}
.btn-claro{background:var(--blanco);color:var(--tinta)}
.btn-claro:hover{transform:translateY(-3px);box-shadow:var(--sombra)}
.btn-sm{padding:.7em 1.2em;font-size:.85rem}

/* HEADER */
header{position:fixed;inset:0 0 auto 0;z-index:100;padding:1.1rem 0;transition:background .4s,box-shadow .4s,padding .4s}
header.scrolled{background:rgba(247,241,232,.85);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(43,39,34,.07);padding:.7rem 0}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{font-family:var(--display);font-style:italic;font-size:1.55rem;font-weight:500;letter-spacing:0;line-height:1.05}
.logo small{font-style:normal;display:block;font-family:var(--cuerpo);font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--salvia-osc);font-weight:600;margin-top:4px}
.nav-links{display:flex;align-items:center;gap:1.7rem}
.nav-links a{font-size:.9rem;font-weight:500;color:var(--tinta-suave);transition:color .25s;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1.5px;background:var(--terracota);transition:width .3s}
.nav-links a:hover{color:var(--tinta)}
.nav-links a:hover::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:.8rem}
.menu-btn{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
.menu-btn span{width:24px;height:2px;background:var(--tinta);border-radius:2px;transition:.3s}

/* HERO */
.hero{position:relative;padding:11rem 0 6rem;overflow:hidden}
.hero::before{content:"";position:absolute;top:-20%;right:-15%;width:55vw;height:55vw;max-width:720px;max-height:720px;background:radial-gradient(circle at 30% 30%,rgba(192,113,79,.18),transparent 62%);border-radius:50%;z-index:0}
.hero::after{content:"";position:absolute;bottom:-25%;left:-12%;width:48vw;height:48vw;max-width:620px;max-height:620px;background:radial-gradient(circle at 40% 40%,rgba(126,139,111,.20),transparent 62%);border-radius:50%;z-index:0}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center}
.hero h1{font-size:clamp(2.1rem,3.8vw,3.3rem);margin:1.1rem 0 1.4rem}
.hero p.lead{font-size:1.15rem;color:var(--tinta-suave);max-width:42ch;margin-bottom:2rem}
.hero-acciones{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:2.2rem}
.hero-firma{display:flex;align-items:center;gap:1rem;font-size:.9rem;color:var(--tinta-suave)}
.hero-firma .linea{width:42px;height:1px;background:var(--oro)}
.hero-foto{position:relative}
.hero-foto .marco{position:relative;border-radius:230px 230px var(--radio) var(--radio);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sombra);background:var(--crema-2)}
.hero-foto .marco,.sobre-foto .marco{position:relative}
.foto-real{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;z-index:2}
.hero-foto .insignia{position:absolute;bottom:18px;left:-22px;background:var(--blanco);border-radius:16px;padding:.9rem 1.2rem;box-shadow:var(--sombra);display:flex;align-items:center;gap:.75rem;max-width:240px}
.hero-foto .insignia .pin{width:40px;height:40px;border-radius:50%;background:var(--salvia-osc);flex:none;display:flex;align-items:center;justify-content:center;color:var(--blanco);font-family:var(--display);font-size:1.3rem;font-weight:600}
.hero-foto .insignia b{font-size:.82rem}
.hero-foto .insignia small{display:block;font-size:.72rem;color:var(--tinta-suave)}

/* MARQUEE */
.tira{background:var(--tinta);color:var(--crema);padding:1.1rem 0;overflow:hidden;position:relative}
.tira-track{display:flex;gap:3.5rem;width:max-content;animation:desplaza 34s linear infinite}
.tira-track span{font-family:var(--display);font-size:1.35rem;font-style:italic;white-space:nowrap;display:flex;align-items:center;gap:3.5rem}
.tira-track span::after{content:"✦";color:var(--oro);font-style:normal;font-size:.9rem}
@keyframes desplaza{to{transform:translateX(-50%)}}

/* SECCIONES */
section{position:relative}
.bloque{padding:6rem 0}
.cabecera-sec{max-width:640px;margin-bottom:3.2rem}
.cabecera-sec.centro{margin-inline:auto;text-align:center}
.cabecera-sec h2{font-size:clamp(2rem,4vw,3.1rem);margin:.8rem 0 1rem}
.cabecera-sec p{color:var(--tinta-suave);font-size:1.05rem}

/* DOS CAMINOS */
.caminos{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.camino{position:relative;border-radius:var(--radio);padding:2.6rem;overflow:hidden;display:flex;flex-direction:column;min-height:380px;transition:transform .4s cubic-bezier(.23,1,.32,1),box-shadow .4s}
.camino:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.camino.empresas{background:linear-gradient(160deg,var(--salvia-osc),#4c5642);color:var(--crema)}
.camino.personas{background:linear-gradient(160deg,var(--terracota),var(--terracota-osc));color:var(--blanco)}
.camino .etq{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;font-weight:600;opacity:.85}
.camino h3{font-size:1.95rem;margin:.7rem 0 1rem}
.camino p{font-size:1rem;opacity:.92;margin-bottom:1.4rem}
.camino ul{list-style:none;margin-bottom:2rem;display:flex;flex-direction:column;gap:.6rem}
.camino li{display:flex;gap:.6rem;font-size:.95rem;opacity:.95}
.camino li::before{content:"→";opacity:.7}
.camino .btn{margin-top:auto;align-self:flex-start}
.dossier-link{display:inline-block;margin-top:1rem;font-size:.86rem;letter-spacing:.02em;
  color:var(--oro-texto);text-decoration:none;border-bottom:1px solid rgba(198,161,91,.45);
  padding-bottom:2px;transition:border-color .25s,opacity .25s}
.dossier-link:hover{border-bottom-color:var(--oro);opacity:.85}
/* Sobre fondos oscuros el oro apagado no contrasta: se usa el claro */
.oscura .dossier-link,.camino.empresas .dossier-link,.camino.personas .dossier-link{color:var(--oro-claro);border-bottom-color:rgba(229,203,149,.5)}
.camino.personas .dossier-link{color:var(--crema);border-bottom-color:rgba(247,241,232,.55)}

/* TARJETAS */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.card{background:var(--blanco);border-radius:var(--radio);padding:2rem;border:1px solid rgba(43,39,34,.06);transition:transform .4s cubic-bezier(.23,1,.32,1),box-shadow .4s}
.card:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.card .icono{width:54px;height:54px;border-radius:14px;background:var(--crema-2);display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;color:var(--terracota-osc)}
.card .icono svg{width:26px;height:26px}
.card h3{font-size:1.45rem;margin-bottom:.5rem}
.card p{font-size:.95rem;color:var(--tinta-suave)}

/* TEMAS */
.temas{background:var(--crema-2)}

/* SOBRE MI */
.sobre{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:center}
.sobre-foto .marco{border-radius:var(--radio) 230px var(--radio) 230px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sombra)}
.sobre h2{font-size:clamp(2rem,4vw,3rem);margin:.8rem 0 1.3rem}
.sobre p{color:var(--tinta-suave);margin-bottom:1.1rem;font-size:1.05rem}
.credenciales{display:flex;flex-direction:column;gap:1rem;margin-top:1.8rem}
.cred{display:flex;gap:1rem;align-items:flex-start}
.cred .num{font-family:var(--display);font-size:1.6rem;color:var(--terracota);font-weight:600;line-height:1;flex:none;width:2.6rem}
.cred b{font-size:.98rem}
.cred small{display:block;color:var(--tinta-suave);font-size:.88rem}

/* METODO */
@media (max-width:920px){.fases{grid-template-columns:1fr 1fr}.fases::before{display:none}}
@media (max-width:680px){.fases{grid-template-columns:1fr}}

/* CONCIENCIA / SALUD MENTAL */
.conciencia{background:#211E1A;color:var(--crema);padding:5.5rem 0}
.conciencia .cab{max-width:640px;margin-bottom:3rem}
.conciencia .sup{color:var(--oro)}
.conciencia h2{font-size:clamp(2rem,4vw,3rem);margin:.8rem 0 1rem;color:var(--crema)}
.conciencia .intro{color:rgba(247,241,232,.78);font-size:1.05rem;max-width:60ch}
.cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin:.5rem 0 2.4rem}
.cifra{border:1px solid rgba(247,241,232,.14);border-radius:var(--radio);padding:2rem;background:rgba(247,241,232,.03)}
.cifra .n{font-family:var(--display);font-size:clamp(2.4rem,4.5vw,3.2rem);color:var(--oro);font-weight:600;line-height:1}
.cifra b{display:block;margin:.6rem 0 .3rem;font-size:.98rem}
.cifra small{color:rgba(247,241,232,.6);font-size:.82rem;line-height:1.5;display:block}
.ayuda{display:flex;gap:1rem;align-items:flex-start;background:rgba(184,148,97,.12);border-left:3px solid var(--oro);border-radius:12px;padding:1.4rem 1.6rem;max-width:760px}
.ayuda svg{width:26px;height:26px;color:var(--oro);flex:none;margin-top:2px}
.ayuda p{font-size:.95rem;color:rgba(247,241,232,.88);line-height:1.6}
.fuente{font-size:.74rem;color:rgba(247,241,232,.45);margin-top:1.4rem}
.fuente a{color:rgba(247,241,232,.6);text-decoration:underline}

/* CURSOS */
.curso{display:flex;flex-direction:column}
.curso .badge{align-self:flex-start;background:var(--crema-2);color:var(--salvia-osc);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.4em .9em;border-radius:999px;margin-bottom:1rem}
.curso .meta{display:flex;gap:1.2rem;margin:1rem 0 1.3rem;font-size:.82rem;color:var(--tinta-suave);flex-wrap:wrap}
.curso .meta span{display:flex;align-items:center;gap:.4rem}
.curso .meta svg{width:15px;height:15px;color:var(--terracota)}
.curso .btn{align-self:flex-start;margin-top:auto}

/* TALLERES (acordeón visual) */
.talleres-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.taller{background:var(--blanco);border-radius:var(--radio);padding:2rem;border:1px solid rgba(43,39,34,.06);display:flex;gap:1.3rem;transition:transform .4s cubic-bezier(.23,1,.32,1),box-shadow .4s}
.taller:hover{transform:translateY(-5px);box-shadow:var(--sombra)}
.taller .pin{width:48px;height:48px;border-radius:14px;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:1.5rem;font-weight:600;color:var(--blanco);background:var(--salvia-osc)}
.taller:nth-child(even) .pin{background:var(--terracota)}
.taller h3{font-size:1.3rem;margin-bottom:.2rem}
.taller .para{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--terracota-osc);font-weight:700;margin-bottom:.5rem}
.taller p{font-size:.93rem;color:var(--tinta-suave)}

/* MÉTRICAS */

/* PROCESO */
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;counter-reset:p}
.paso{position:relative;padding:1.8rem;background:var(--blanco);border-radius:var(--radio);border:1px solid rgba(43,39,34,.06)}
.paso::before{counter-increment:p;content:"0" counter(p);font-family:var(--display);font-size:2.4rem;color:var(--crema-2);font-weight:600;position:absolute;top:1rem;right:1.3rem}
.paso h3{font-size:1.25rem;margin-bottom:.5rem;position:relative;z-index:1}
.paso p{font-size:.92rem;color:var(--tinta-suave)}

/* LIBROS */
@media(max-width:820px){.libros-intro{grid-template-columns:1fr}.libros-retrato{max-width:260px;margin-inline:auto}}
.libro{background:var(--blanco);border-radius:var(--radio);overflow:hidden;border:1px solid rgba(43,39,34,.06);display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.23,1,.32,1),box-shadow .4s}
.libro:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.libro .portada{aspect-ratio:3/4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;padding:1.4rem;color:var(--blanco);position:relative}
.libro .portada h4{font-family:var(--display);font-size:1.2rem;line-height:1.15;color:inherit}
.libro .portada .aut{font-size:.74rem;opacity:.85;letter-spacing:.04em}
.libro:nth-child(4n+1) .portada{background:linear-gradient(160deg,#8a6d4f,#6f5640)}
.libro:nth-child(4n+2) .portada{background:linear-gradient(160deg,var(--salvia-osc),#4c5642)}
.libro:nth-child(4n+3) .portada{background:linear-gradient(160deg,var(--terracota),var(--terracota-osc))}
.libro:nth-child(4n+4) .portada{background:linear-gradient(160deg,#6a6660,#4a4640)}
.libro .info{padding:1.2rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.libro .info p{font-size:.85rem;color:var(--tinta-suave);flex:1}
.libro .info .btn{justify-content:center}
.libro .portada{position:relative}
.libro .caratula{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}

/* PODCAST */
.podcast-player{max-width:660px;margin-inline:auto}
.podcast-player iframe{width:100%;border:0;border-radius:14px;box-shadow:var(--sombra);display:block}

/* TESTIMONIOS */
.testi{background:var(--crema)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.quote{background:var(--blanco);border-radius:var(--radio);padding:2rem;display:flex;flex-direction:column;gap:1.2rem;box-shadow:0 10px 30px -22px rgba(43,39,34,.4)}
.quote .estrellas{color:var(--oro-texto);font-size:1rem;letter-spacing:2px}
.quote p{font-family:var(--display);font-style:italic;font-size:1.2rem;line-height:1.45;color:var(--tinta)}
.quote .autor{display:flex;align-items:center;gap:.8rem;margin-top:auto}
.quote .autor .av{width:42px;height:42px;border-radius:50%;background:var(--salvia-osc);color:var(--blanco);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:600;flex:none}
.quote .autor b{font-size:.9rem}
.quote .autor small{display:block;color:var(--tinta-suave);font-size:.8rem}
.testi-grid.credenciales .quote p{font-family:var(--cuerpo);font-style:normal;font-size:1.02rem;line-height:1.65;color:var(--tinta-suave)}
.testi-grid.credenciales .quote p b{color:var(--tinta);font-weight:600}
.testi-grid.credenciales .quote .autor .av{background:var(--terracota);font-size:.95rem;letter-spacing:.5px}

/* CTA */
.cta-final{padding:6rem 0}
.cta-caja{position:relative;background:linear-gradient(160deg,var(--salvia-osc),#454e3b);color:var(--crema);border-radius:28px;padding:4rem;overflow:hidden}
.cta-caja::before{content:"";position:absolute;top:-30%;right:-10%;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(184,148,97,.4),transparent 65%)}
.cta-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.cta-caja h2{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:1rem}
.cta-caja p{opacity:.9;margin-bottom:1.5rem}
.form{background:var(--blanco);border-radius:var(--radio);padding:2rem;color:var(--tinta)}
.form label{display:block;font-size:.82rem;font-weight:600;margin-bottom:.4rem;color:var(--tinta-suave)}
.form .campo{margin-bottom:1.1rem}
.form input,.form select,.form textarea{width:100%;padding:.9em 1em;border:1.5px solid rgba(43,39,34,.22);border-radius:12px;font-family:var(--cuerpo);font-size:1rem;font-weight:500;background:#fff;color:var(--tinta);transition:border-color .25s,box-shadow .25s}
.form input::placeholder,.form textarea::placeholder{color:#a59c90;font-weight:400}
.form label.consent{display:flex;align-items:flex-start;gap:.65rem;margin:.2rem 0 .8rem;font-size:.86rem;
  font-weight:500;line-height:1.5;color:var(--tinta-suave);cursor:pointer;text-align:left}
.form label.consent input[type=checkbox]{width:18px;height:18px;flex:none;margin-top:.15rem;padding:0;
  border-radius:4px;accent-color:var(--terracota)}
.form label.consent a{color:var(--terracota);text-decoration:underline}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--terracota);box-shadow:0 0 0 3px rgba(192,113,79,.15)}
.form-ok{background:var(--blanco);border-radius:var(--radio);padding:2.6rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.form-ok .ok-check{width:66px;height:66px;border-radius:50%;background:var(--salvia-osc);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.1rem;margin-bottom:.6rem}
.form-ok h3{font-size:1.9rem;color:var(--tinta)}
.form-ok p{color:var(--tinta-suave);font-size:1.02rem}
.form .btn{width:100%;justify-content:center;margin-top:.4rem}
.form .priv{font-size:.74rem;color:var(--tinta-suave);margin-top:.8rem;text-align:center;line-height:1.5}

/* FOOTER */
footer{background:var(--tinta);color:var(--crema);padding:4rem 0 2rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.foot-grid .logo{color:var(--crema)}
.foot-grid p{opacity:.7;font-size:.92rem;margin-top:1rem;max-width:34ch}
.sello-camara{display:block;width:132px;height:auto;margin-top:1.8rem;opacity:.75;transition:opacity .3s}
.sello-camara:hover{opacity:1}
/* Franja de credibilidad institucional bajo el hero */
.aval{background:var(--crema);border-top:1px solid rgba(18,16,13,.07);border-bottom:1px solid rgba(18,16,13,.07)}
.aval-in{display:flex;align-items:center;justify-content:center;gap:2.6rem;flex-wrap:wrap;
  padding:1.7rem 0}
.aval-item{display:flex;align-items:center;gap:.85rem}
.aval-item img{height:44px;width:auto;opacity:.85}
.aval-item span{font-size:.82rem;line-height:1.45;color:var(--gris);max-width:210px}
.aval-item b{display:block;color:var(--tinta);font-weight:600;font-size:.9rem}
.aval-sep{width:1px;height:38px;background:rgba(18,16,13,.13)}
@media(max-width:820px){.aval-sep{display:none}.aval-in{gap:1.4rem;padding:1.5rem 0}}
@media(max-width:640px){.aval-in{flex-direction:column;align-items:flex-start;gap:1.1rem;padding:1.5rem .2rem}.aval-item{width:100%}.aval-item span{max-width:none}}
.foot-col h4{font-family:var(--cuerpo);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin-bottom:1rem}
.foot-col a{display:block;opacity:.82;font-size:.95rem;margin-bottom:.6rem;transition:opacity .25s,color .25s}
.foot-col a:hover{opacity:1;color:var(--oro)}
.foot-bottom{border-top:1px solid rgba(247,241,232,.14);padding-top:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.82rem;opacity:.6}

/* BARRA MÓVIL */
.barra-movil{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;background:rgba(247,241,232,.94);backdrop-filter:blur(12px);box-shadow:0 -2px 18px rgba(43,39,34,.12);padding:.7rem .9rem;gap:.7rem}
.barra-movil .btn{flex:1;justify-content:center;font-size:.9rem;padding:.8em 1em}

/* WHATSAPP FLOTANTE */
.wa-flot{position:fixed;right:18px;bottom:18px;z-index:95;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px -6px rgba(0,0,0,.35);transition:transform .3s}
.wa-flot:hover{transform:scale(1.08)}
.wa-flot svg{width:30px;height:30px;fill:#fff}
@media(max-width:680px){.wa-flot{bottom:74px;width:52px;height:52px}.wa-flot svg{width:27px;height:27px}}

/* REVEAL */
/* El contenido es visible por defecto. Solo se oculta para animarlo si el JS
   ha podido arrancar (clase .js en la etiqueta raiz). Si el JS falla, la web se ve igual. */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.23,1,.32,1),transform .8s cubic-bezier(.23,1,.32,1)}
.js .reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto}}

/* RESPONSIVE */
@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr;gap:3rem}
  .hero-foto{max-width:420px;margin-inline:auto;width:100%}
  .sobre{grid-template-columns:1fr;gap:2.5rem}
  .sobre-foto{max-width:420px;margin-inline:auto;width:100%}
  .cards,.testi-grid,.pasos{grid-template-columns:1fr 1fr}
  .cifras{grid-template-columns:1fr 1fr}
  .cta-grid{grid-template-columns:1fr;gap:2rem}
  .nav-links{display:none}
  .menu-btn{display:flex}
  .nav-mobile-open .nav-links{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--crema);padding:1.5rem 6vw;gap:1.2rem;box-shadow:var(--sombra)}
}
@media (max-width:680px){
  .bloque{padding:4.5rem 0}
  .nav-cta .btn-fantasma{display:none}
  .menu-btn{display:flex}
  .caminos,.talleres-grid{grid-template-columns:1fr}
  .cards,.testi-grid,.pasos,.cifras,.libros-grid{grid-template-columns:1fr}
  .hero{padding:8.5rem 0 4rem}
  .hero-foto .insignia{left:8px}
  .cta-caja{padding:2.4rem 1.6rem}
  .foot-grid{grid-template-columns:1fr;gap:2rem}
  .barra-movil{display:flex}
  body{padding-bottom:4.5rem}
  .nav-mobile-open .nav-links{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--crema);padding:1.5rem 6vw;gap:1.2rem;box-shadow:var(--sombra)}
}

/* ============================================================
   CAPA PREMIUM — ritmo claro/oscuro, oro y tipografía editorial
   ============================================================ */

/* --- Kicker con filete de oro --- */
.sup{position:relative;padding-left:2.6rem;color:var(--tinta-suave)}
.sup::before{content:"";position:absolute;left:0;top:50%;width:1.9rem;height:1px;background:var(--oro)}
.cabecera-sec.centro .sup{padding-left:0;padding-top:1.5rem}
.cabecera-sec.centro .sup::before{left:50%;top:0;transform:translateX(-50%)}

/* --- Titulares con más presencia --- */
h1,h2,h3{font-weight:500}
.hero h1{font-size:clamp(2.2rem,4.1vw,3.6rem);letter-spacing:-.02em;line-height:1.1}
.cabecera-sec h2{font-size:clamp(2.2rem,4.4vw,3.5rem);letter-spacing:-.02em}
.sobre h2{font-size:clamp(2.1rem,4.2vw,3.3rem);letter-spacing:-.02em}

/* --- Botones con más autoridad --- */
.btn{letter-spacing:.01em}
.btn-primario{background:var(--terracota);box-shadow:0 14px 30px -12px rgba(184,92,56,.75)}
.btn-primario:hover{box-shadow:0 22px 42px -14px rgba(184,92,56,.85)}

/* ============ SECCIONES OSCURAS ============ */
.oscura{background:var(--noche);color:var(--crema);position:relative}
.oscura::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(255,253,249,.035) 1px,transparent 1px);background-size:3px 3px}
.oscura > *{position:relative;z-index:1}
.oscura h1,.oscura h2,.oscura h3,.oscura h4{color:var(--crema)}
.oscura p,.oscura li,.oscura small{color:rgba(247,241,232,.72)}
.oscura .sup{color:var(--oro)}
.oscura .sup::before{background:var(--oro)}
.oscura .acento{color:var(--oro)}
.oscura .btn-fantasma{color:var(--crema);border-color:rgba(247,241,232,.35)}
.oscura .btn-fantasma:hover{border-color:var(--oro);color:var(--oro);background:rgba(198,161,91,.08)}

/* --- HERO OSCURO --- */
.hero.oscura{padding:12.5rem 0 7rem;background:
  radial-gradient(120% 90% at 78% 12%,rgba(198,161,91,.16),transparent 58%),
  radial-gradient(90% 80% at 8% 88%,rgba(184,92,56,.14),transparent 60%),
  var(--noche)}
.hero.oscura::before,.hero.oscura::after{display:none}
.hero.oscura .lead{color:rgba(247,241,232,.76);font-size:1.2rem;max-width:44ch}
.hero.oscura .hero-firma{color:rgba(247,241,232,.55);font-size:.86rem}
.hero.oscura .hero-firma .linea{background:var(--oro);width:52px}
.hero.oscura .marco{box-shadow:0 50px 90px -40px rgba(0,0,0,.85);background:var(--noche-2)}
.hero.oscura .foto-real{object-position:center 34%}
.hero.oscura .marco::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(198,161,91,.28);border-radius:inherit}
.hero.oscura .insignia{background:rgba(29,26,21,.92);backdrop-filter:blur(10px);
  box-shadow:0 20px 40px -20px rgba(0,0,0,.8),inset 0 0 0 1px rgba(198,161,91,.25)}
.hero.oscura .insignia b{color:var(--crema)}
.hero.oscura .insignia small{color:rgba(247,241,232,.6)}
.hero.oscura .insignia .pin{background:var(--oro);color:var(--noche)}

/* --- Cabecera sobre hero oscuro --- */
header:not(.scrolled) .logo{color:var(--crema)}
header:not(.scrolled) .logo small{color:var(--oro)}
header:not(.scrolled) .nav-links a{color:rgba(247,241,232,.78)}
header:not(.scrolled) .nav-links a:hover{color:var(--crema)}
header:not(.scrolled) .nav-links a::after{background:var(--oro)}
header:not(.scrolled) .btn-fantasma{color:var(--crema);border-color:rgba(247,241,232,.35)}
header:not(.scrolled) .btn-fantasma:hover{border-color:var(--oro);color:var(--oro);background:rgba(198,161,91,.08)}
header:not(.scrolled) .menu-btn span{background:var(--crema)}
header.scrolled{background:rgba(247,241,232,.9)}

/* --- Marquee con oro --- */
.tira{background:var(--noche-2);border-block:1px solid rgba(198,161,91,.18)}
.tira-track span{color:rgba(247,241,232,.85)}
.tira-track span::after{color:var(--oro)}

/* --- Método: fases con filo de oro --- */

/* --- Caminos: más profundidad --- */
.camino{box-shadow:0 20px 50px -30px rgba(26,23,19,.55)}
.camino.empresas{background:linear-gradient(155deg,var(--noche-2),#2A2D24 70%,#333828)}
.camino.empresas .etq{color:var(--oro);opacity:1}
.camino.empresas li::before{color:var(--oro);opacity:1}
/* Bloque de sede en la tarjeta B2B (fondo oscuro: sello blanco) */
.aval-empresa{display:flex;align-items:flex-start;gap:1rem;margin:0 0 1.8rem;padding:1.1rem 1.2rem;
  background:rgba(247,241,232,.07);border-left:2px solid var(--oro);border-radius:4px}
.aval-empresa img{height:38px;width:auto;flex:none;opacity:.9;margin-top:.1rem}
.aval-empresa span{font-size:.87rem;line-height:1.55;opacity:.9}
.aval-empresa b{font-weight:600;color:var(--oro)}
@media(max-width:520px){.aval-empresa{flex-direction:column;gap:.7rem}}
.camino.personas{background:linear-gradient(155deg,var(--terracota-osc),#7E3319)}
.camino.personas .etq{color:var(--oro-claro);opacity:1}
.camino:hover{transform:translateY(-8px);box-shadow:var(--sombra-alta)}
.camino .btn-claro{background:var(--crema);color:var(--noche);font-weight:700}

/* --- Tarjetas más finas --- */
.card,.taller,.paso,.libro,.quote{border:1px solid rgba(26,23,19,.07)}
.card:hover,.taller:hover,.libro:hover{box-shadow:var(--sombra-alta)}

/* --- Métricas: bloque de autoridad --- */

/* --- Conciencia (OMS) --- */
.conciencia{background:var(--noche-2)}

/* --- Credenciales: tarjetas con número en oro --- */
.testi-grid.credenciales .quote{background:var(--blanco);box-shadow:0 2px 24px -16px rgba(26,23,19,.5)}
.testi-grid.credenciales .quote:hover{transform:translateY(-5px);box-shadow:var(--sombra-alta);transition:transform .4s cubic-bezier(.23,1,.32,1),box-shadow .4s}
.testi{background:linear-gradient(180deg,var(--crema-2) 0%,var(--crema) 100%)}

/* --- CTA final en noche + oro --- */
.cta-caja{background:linear-gradient(150deg,var(--noche),var(--noche-2) 60%,#2A241B)}
.cta-caja::before{background:radial-gradient(circle,rgba(198,161,91,.45),transparent 65%)}
.cta-caja .btn-claro{background:var(--oro);color:var(--noche);font-weight:700}
.cta-caja .btn-claro:hover{background:var(--oro-claro)}

/* --- Footer oscuro --- */
footer{background:var(--noche);color:rgba(247,241,232,.7);border-top:1px solid rgba(198,161,91,.18)}
footer .logo{color:var(--crema)}
footer .logo small{color:var(--oro)}
footer h4{color:var(--crema)}
footer p{color:rgba(247,241,232,.6)}
footer a{color:rgba(247,241,232,.7)}
footer a:hover{color:var(--oro)}
.foot-bottom{border-top-color:rgba(247,241,232,.12)}

@media (max-width:900px){
  .logo small{display:none}
  .logo{font-size:1.35rem}
  .nav-cta .btn-primario{font-size:.82rem;padding:.8em 1.15em}
  .solo-ancho{display:none}
}
@media (max-width:680px){
  .hero.oscura{padding:8.5rem 0 4rem}
  .hero h1{font-size:clamp(1.9rem,6.8vw,2.4rem)}
  .hero.oscura .lead{font-size:1.02rem;max-width:none}
  .sup{padding-left:0;padding-top:1.15rem;font-size:.66rem;letter-spacing:.2em;line-height:1.5}
  .sup::before{left:0;top:0;transform:none;width:1.7rem}
  .cabecera-sec.centro .sup{padding-top:1.15rem}
  .cabecera-sec.centro .sup::before{left:50%;transform:translateX(-50%)}
  .hero-acciones{gap:.7rem}
  .hero-acciones .btn{width:100%;justify-content:center}
  .hero-firma{font-size:.78rem;align-items:flex-start}
  .hero.oscura .insignia{position:static;margin-top:1rem;max-width:none}
}

/* ============================================================
   PÁGINAS INTERIORES
   Cabecera clara: el header no puede usar el contraste del hero
   oscuro, así que se fuerza el modo "sobre claro" desde el body.
   ============================================================ */
body.pagina-interior header:not(.scrolled){background:rgba(247,241,232,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(43,39,34,.07)}
body.pagina-interior header:not(.scrolled) .logo{color:var(--tinta)}
body.pagina-interior header:not(.scrolled) .logo small{color:var(--oro-texto)}
body.pagina-interior header:not(.scrolled) .nav-links a{color:var(--tinta-suave)}
body.pagina-interior header:not(.scrolled) .nav-links a:hover{color:var(--tinta)}
body.pagina-interior header:not(.scrolled) .nav-links a::after{background:var(--terracota)}
body.pagina-interior header:not(.scrolled) .btn-fantasma{color:var(--tinta);border-color:rgba(43,39,34,.28)}
body.pagina-interior header:not(.scrolled) .btn-fantasma:hover{border-color:var(--terracota);color:var(--terracota);background:transparent}
body.pagina-interior header:not(.scrolled) .menu-btn span{background:var(--tinta)}

/* Cabecera de página interior: deja sitio al header fijo y recupera
   el tamaño de titular que en la home daba la clase .hero */
.cabecera-pagina{padding-top:11rem;padding-bottom:4rem;
  background:linear-gradient(180deg,var(--crema-2) 0%,var(--crema) 100%)}
.cabecera-pagina h1{font-family:var(--display);font-weight:500;letter-spacing:-.02em;line-height:1.1;
  font-size:clamp(2.1rem,4.1vw,3.4rem);margin:1.1rem 0 1.4rem;max-width:20ch}
.cabecera-pagina .lead{font-size:1.06rem;line-height:1.75;color:var(--tinta-suave);max-width:60ch}
.cabecera-pagina .hero-acciones{margin-top:2rem}

/* Cuando la página interior abre con hero oscuro (conferencias),
   se deja el header transparente como en la home */
body.pagina-interior.hero-oscuro header:not(.scrolled){background:transparent;box-shadow:none;backdrop-filter:none}
body.pagina-interior.hero-oscuro header:not(.scrolled) .logo{color:var(--crema)}
body.pagina-interior.hero-oscuro header:not(.scrolled) .logo small{color:var(--oro)}
body.pagina-interior.hero-oscuro header:not(.scrolled) .nav-links a{color:rgba(247,241,232,.78)}
body.pagina-interior.hero-oscuro header:not(.scrolled) .nav-links a:hover{color:var(--crema)}
body.pagina-interior.hero-oscuro header:not(.scrolled) .btn-fantasma{color:var(--crema);border-color:rgba(247,241,232,.35)}
body.pagina-interior.hero-oscuro header:not(.scrolled) .menu-btn span{background:var(--crema)}

@media(max-width:760px){
  .cabecera-pagina{padding-top:8.5rem;padding-bottom:3rem}
}
