/* ================================================================
   LauraBaroli.com — sistema visual v2 (rediseño editorial)
   Fraunces variable (opsz+wght) · Source Sans 3 · paleta cálida
   ================================================================ */

/* ---- fuentes ---- */
@font-face{font-family:'Fraunces';src:url('/assets/fraunces-var.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('/assets/fraunces-var-italic.woff2') format('woff2');
  font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('/assets/source-sans-3-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('/assets/source-sans-3-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('/assets/source-sans-3-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* ---- tokens ---- */
:root{
  /* color */
  --tinta:#37322E;
  --tinta-suave:#6A6157;
  --tinta-tenue:#928678;
  --fondo:#FBF7F1;
  --fondo-2:#F6EFE6;
  --blanco:#FFFFFF;
  --terracota:#B25638;
  --terracota-claro:#C6704F;
  --terracota-oscuro:#8E4429;
  --salvia:#5E7263;
  --salvia-clara:#8AA091;
  --arena:#F0E6D8;
  --arena-2:#EADDCB;
  --oro:#C6A15B;
  --linea:#E7DBCB;
  --linea-fuerte:#DBCBB5;
  /* tipografía fluida */
  --paso--1:clamp(.83rem,.80rem + .12vw,.90rem);
  --paso-0:clamp(1rem,.97rem + .18vw,1.10rem);
  --paso-1:clamp(1.15rem,1.06rem + .45vw,1.42rem);
  --paso-2:clamp(1.4rem,1.20rem + .95vw,2.05rem);
  --paso-3:clamp(1.85rem,1.45rem + 1.9vw,3.1rem);
  --paso-4:clamp(2.3rem,1.6rem + 3.3vw,4.4rem);
  /* medidas */
  --max:1140px;
  --lectura:700px;
  --radio:16px;
  /* tamaño de letra: multiplicador controlado por la lupa −/+ (1 a 1.75) */
  --tx:1;
  --radio-s:11px;
  /* sombras cálidas (no gris) */
  --sombra-1:0 1px 2px rgba(74,52,36,.05), 0 3px 8px rgba(74,52,36,.05);
  --sombra-2:0 2px 4px rgba(74,52,36,.06), 0 10px 24px rgba(74,52,36,.09);
  --sombra-3:0 4px 8px rgba(74,52,36,.07), 0 20px 44px rgba(74,52,36,.13);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box}
/* la lupa −/+ escala el tamaño de letra de todo el contenido (el rem sigue a la raíz);
   el encabezado y el pie usan px, así que quedan fijos como el chrome de mpirozzo */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:calc(100% * var(--tx))}
body{margin:0;background:var(--fondo);color:var(--tinta);
  font:400 var(--paso-0)/1.68 'Source Sans 3',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--arena-2);color:var(--terracota-oscuro)}
img{max-width:100%;height:auto}
:focus-visible{outline:2.5px solid var(--terracota);outline-offset:3px;border-radius:3px}

a{color:var(--terracota);text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--terracota-oscuro)}

h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-optical-sizing:auto;
  font-weight:560;line-height:1.12;margin:0 0 .5em;
  letter-spacing:-.015em;color:var(--tinta);text-wrap:balance}
h1{font-size:var(--paso-3);font-weight:600;letter-spacing:-.022em}
h2{font-size:var(--paso-2);font-weight:580}
h3{font-size:var(--paso-1);line-height:1.24;font-weight:600;letter-spacing:-.01em}
p{margin:0 0 1em;text-wrap:pretty}
strong,b{font-weight:600;color:var(--tinta)}
hr{border:0;height:1px;background:var(--linea);margin:2.4em 0}

/* kicker con tick */
.kicker{display:flex;align-items:center;gap:10px;
  font:700 var(--paso--1)/1 'Source Sans 3',sans-serif;
  letter-spacing:.15em;text-transform:uppercase;color:var(--terracota);margin:0 0 16px}
.kicker::before{content:"";width:26px;height:2px;background:currentColor;opacity:.55;flex:0 0 auto}
.kicker.salvia{color:var(--salvia)}
.kicker.centrado{justify-content:center}

.wrap{max-width:var(--max);margin:0 auto;padding:0 26px}
.medida{max-width:var(--lectura)}

/* enlace con subrayado animado dentro de texto */
.enlace,article.texto p a,.tarjeta p a{background-image:linear-gradient(currentColor,currentColor);
  background-size:0% 1.5px;background-position:0 100%;background-repeat:no-repeat;
  transition:background-size .3s var(--ease),color .2s var(--ease)}
.enlace:hover,article.texto p a:hover,.tarjeta p a:hover{background-size:100% 1.5px}

/* ================= barra superior ================= */
.top{position:sticky;top:0;z-index:40;
  background:rgba(251,247,241,.82);backdrop-filter:saturate(1.4) blur(12px);
  -webkit-backdrop-filter:saturate(1.4) blur(12px);
  border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.top.desplazado{border-bottom-color:var(--linea);box-shadow:var(--sombra-1)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.brand{display:flex;align-items:center;gap:13px;color:var(--tinta)}
.brand:hover{color:var(--tinta)}
.brand-txt{display:flex;flex-direction:column;gap:3px}
.brand .iso{flex:0 0 auto;width:44px;height:44px;background:var(--terracota);
  transition:background .25s var(--ease),transform .35s var(--ease);
  -webkit-mask:url('/assets/logo.svg') center/contain no-repeat;mask:url('/assets/logo.svg') center/contain no-repeat}
.brand:hover .iso{background:var(--terracota-oscuro);transform:rotate(-4deg) scale(1.05)}
.brand .nombre{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:21px;line-height:1;letter-spacing:-.01em}
.brand .rubro{font:700 10px/1 'Source Sans 3',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--terracota)}
.top-der{display:flex;align-items:center;gap:16px}
/* control de tamaño de letra (lupa −/+) */
.tx-ctl{display:inline-flex;flex:0 0 auto;border:1px solid var(--linea-fuerte);border-radius:999px;overflow:hidden;background:var(--blanco);box-shadow:var(--sombra-1)}
.tx-ctl button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;background:transparent;color:var(--terracota);cursor:pointer;
  transition:background .2s var(--ease),color .2s var(--ease)}
.tx-ctl button svg{width:19px;height:19px}
.tx-ctl .tx-menos{border-right:1px solid var(--linea)}
.tx-ctl button:hover:not(:disabled){background:var(--arena);color:var(--terracota-oscuro)}
.tx-ctl button:disabled{color:var(--tinta-tenue);opacity:.5;cursor:default}
nav.principal{display:flex;align-items:center;gap:30px}
nav.principal a{position:relative;font-weight:600;font-size:15px;color:var(--tinta);padding:4px 0}
nav.principal a:not(.pill)::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;
  background:var(--terracota);transition:right .28s var(--ease)}
nav.principal a:not(.pill):hover::after,nav.principal a.activa::after{right:0}
nav.principal a.activa{color:var(--terracota)}
nav.principal a.pill{background:var(--terracota);color:#fff;padding:10px 20px;border-radius:999px;font-size:14px;
  box-shadow:var(--sombra-1);transition:background .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}
nav.principal a.pill::after{display:none}
nav.principal a.pill:hover{background:var(--terracota-oscuro);color:#fff;transform:translateY(-1px);box-shadow:var(--sombra-2)}
.hamb{display:none;background:none;border:1px solid var(--linea-fuerte);border-radius:10px;padding:9px 11px;cursor:pointer;color:var(--tinta);font-size:18px;line-height:1}
@media(max-width:800px){
  nav.principal{display:none;position:absolute;top:72px;left:0;right:0;background:var(--fondo);
    border-bottom:1px solid var(--linea);box-shadow:var(--sombra-2);
    flex-direction:column;align-items:flex-start;padding:18px 26px 24px;gap:18px}
  nav.principal.abierta{display:flex}
  nav.principal a.pill{width:100%;text-align:center;padding:12px;font-size:15px}
  .hamb{display:block}
}
@media(max-width:400px){.tx-ctl button{width:30px;height:30px}.top-der{gap:10px}}

/* ================= botones ================= */
.acciones{display:flex;gap:15px;flex-wrap:wrap;align-items:center}
.boton{display:inline-flex;align-items:center;gap:8px;background:var(--terracota);color:#fff;
  font-weight:700;font-size:1rem;padding:14px 28px;border-radius:999px;
  box-shadow:var(--sombra-1);transition:transform .2s var(--ease),box-shadow .25s var(--ease),background .2s var(--ease)}
.boton:hover{background:var(--terracota-oscuro);color:#fff;transform:translateY(-2px);box-shadow:var(--sombra-2)}
.boton.linea{background:transparent;color:var(--terracota);border:1.5px solid var(--linea-fuerte);box-shadow:none}
.boton.linea:hover{background:var(--blanco);border-color:var(--terracota);color:var(--terracota-oscuro);transform:translateY(-2px);box-shadow:var(--sombra-1)}

/* ================= secciones ================= */
section.bloque{padding:clamp(56px,8vw,92px) 0}
section.bloque.alterno{background:
  radial-gradient(120% 120% at 80% 0%,var(--fondo-2),var(--fondo) 60%);
  border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.encabezado-seccion{max-width:40rem;margin-bottom:8px}

.grilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:38px}

/* tarjetas */
.tarjeta{position:relative;background:var(--blanco);border:1px solid var(--linea);
  border-radius:var(--radio);padding:30px 28px;display:flex;flex-direction:column;gap:9px;min-width:0;
  box-shadow:var(--sombra-1);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.tarjeta:hover{transform:translateY(-4px);box-shadow:var(--sombra-3);border-color:var(--linea-fuerte)}
.alterno .tarjeta{background:var(--blanco)}
.tarjeta p{color:var(--tinta-suave);font-size:.99rem;margin:0 0 6px}
.tarjeta h3 a{color:var(--tinta);background:none}
.tarjeta h3 a:hover{color:var(--terracota)}
.tarjeta .mas{margin-top:auto;font-weight:700;font-size:.93rem;color:var(--terracota);
  display:inline-flex;align-items:center;gap:6px}
.tarjeta .mas::after{content:"→";transition:transform .25s var(--ease)}
.tarjeta:hover .mas::after{transform:translateX(4px)}

/* ================= hero ================= */
.hero{position:relative;overflow:hidden;padding:clamp(64px,9vw,112px) 0 clamp(56px,8vw,88px);
  border-bottom:1px solid var(--linea);
  background:radial-gradient(130% 120% at 15% 0%,var(--blanco),var(--fondo) 55%)}
.hero .wrap{position:relative;z-index:2}
.hero h1{max-width:17ch;font-size:var(--paso-4);font-weight:600;line-height:1.03}
.hero .lede{font-size:var(--paso-1);color:var(--tinta-suave);max-width:36rem;margin:22px 0 34px;line-height:1.55}
.hero .figura{position:absolute;right:-30px;bottom:-40px;width:min(48vw,600px);aspect-ratio:2296/2268;z-index:1;pointer-events:none;
  background:linear-gradient(158deg,var(--arena),var(--arena-2));
  -webkit-mask:url('/assets/logo.svg') center/contain no-repeat;mask:url('/assets/logo.svg') center/contain no-repeat}
.hero .halo{position:absolute;right:2%;top:-10%;width:min(52vw,640px);height:min(52vw,640px);z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgba(198,161,91,.16),transparent 62%)}
@media(max-width:900px){.hero .figura{opacity:.4;right:-90px;width:74vw}.hero .halo{opacity:.7}}
@media(max-width:560px){.hero .figura,.hero .halo{display:none}}

/* ================= páginas interiores ================= */
.cab{position:relative;overflow:hidden;padding:clamp(52px,7vw,78px) 0 clamp(30px,4vw,40px);
  border-bottom:1px solid var(--linea);
  background:radial-gradient(120% 130% at 12% 0%,var(--blanco),var(--fondo) 60%)}
.cab .lede{font-size:var(--paso-1);color:var(--tinta-suave);max-width:var(--lectura);margin:16px 0 0;line-height:1.5}
.cab .epigrafe{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:420;
  font-size:var(--paso-1);color:var(--terracota-oscuro);margin:16px 0 0;max-width:32ch}

article.texto{max-width:var(--lectura);margin:0 auto;padding:clamp(40px,6vw,60px) 26px clamp(56px,8vw,80px);
  font-size:1.09rem;line-height:1.75}
article.texto>p:first-of-type::first-letter{float:left;font-family:'Fraunces',Georgia,serif;
  font-weight:600;font-size:3.6em;line-height:.78;padding:6px 12px 0 0;color:var(--terracota)}
article.texto h2{margin-top:1.9em;font-size:var(--paso-2)}
article.texto h2::before{content:"";display:block;width:38px;height:3px;border-radius:2px;
  background:var(--oro);margin-bottom:.5em;opacity:.8}
article.texto ul,article.texto ol{padding-left:1.3em;margin:0 0 1.3em}
article.texto li{margin-bottom:.5em}
article.texto li::marker{color:var(--terracota)}
article.texto blockquote{margin:1.6em 0;padding:18px 24px;background:var(--arena);
  border-left:3px solid var(--terracota);border-radius:0 var(--radio-s) var(--radio-s) 0;color:var(--tinta)}
.aviso{background:var(--fondo-2);border:1px solid var(--linea);border-radius:var(--radio-s);
  padding:18px 22px;font-size:.97rem;color:var(--tinta-suave);margin:1.8em 0}

/* vías de contacto (consultorio) */
.contacto{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:1.4em 0 .6em}
.contacto .via{display:flex;flex-direction:column;gap:3px;background:var(--blanco);border:1px solid var(--linea);
  border-radius:var(--radio-s);padding:15px 18px;box-shadow:var(--sombra-1);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.contacto .via:hover{transform:translateY(-2px);box-shadow:var(--sombra-2);border-color:var(--linea-fuerte)}
.contacto .via-rotulo{font:700 .68rem/1 'Source Sans 3',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--salvia)}
.contacto .via-dato{font-weight:600;color:var(--terracota-oscuro);font-size:1.02rem}

/* ================= pie ================= */
footer.pie{position:relative;overflow:hidden;background:var(--tinta);color:#EBE4DA;margin-top:0}
footer.pie::before{content:"";position:absolute;left:-60px;bottom:-80px;width:340px;height:340px;opacity:.05;
  background:#EBE4DA;-webkit-mask:url('/assets/logo.svg') center/contain no-repeat;mask:url('/assets/logo.svg') center/contain no-repeat}
footer.pie .wrap{position:relative;z-index:1}
footer.pie .cols{display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1fr;gap:36px;padding:clamp(48px,6vw,64px) 0 36px}
footer.pie h4{font:700 11.5px/1 'Source Sans 3',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--oro);margin:0 0 16px}
footer.pie p,footer.pie address{font-style:normal;font-size:15px;line-height:1.75;color:#CFC6BA;margin:0 0 8px}
footer.pie a{color:#EEC9B7;background:none}
footer.pie a:hover{color:#fff}
footer.pie .marca{display:flex;align-items:center;gap:11px;font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:22px;color:#fff;line-height:1.2;margin-bottom:6px}
footer.pie .iso-pie{flex:0 0 auto;width:32px;height:32px;background:var(--oro);
  -webkit-mask:url('/assets/logo.svg') center/contain no-repeat;mask:url('/assets/logo.svg') center/contain no-repeat}
footer.pie .mn{font:700 10px/1.6 'Source Sans 3',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--oro)}
footer.pie .disc{border-top:1px solid rgba(235,228,218,.14);padding:22px 0 28px;font-size:13px;color:#9C9184;line-height:1.65}
footer.pie .pin{display:inline-block;vertical-align:-3px;margin-right:6px}
@media(max-width:900px){footer.pie .cols{grid-template-columns:1fr 1fr}}
@media(max-width:560px){footer.pie .cols{grid-template-columns:1fr;gap:30px}}

/* ================= índice de la guía ================= */
.portada-libro{position:relative;overflow:hidden;padding:clamp(60px,8vw,96px) 0 clamp(48px,6vw,64px);
  border-bottom:1px solid var(--linea);
  background:radial-gradient(120% 130% at 85% 20%,var(--fondo-2),var(--fondo) 62%)}
.portada-libro .wrap{position:relative;z-index:1}
.portada-libro .figura{position:absolute;right:-20px;top:50%;transform:translateY(-50%);width:min(40vw,440px);aspect-ratio:2296/2268;z-index:0;pointer-events:none;
  background:linear-gradient(158deg,var(--arena),var(--arena-2));
  -webkit-mask:url('/assets/logo.svg') center/contain no-repeat;mask:url('/assets/logo.svg') center/contain no-repeat}
@media(max-width:900px){.portada-libro .figura{opacity:.32;width:62vw;right:-80px}}
@media(max-width:560px){.portada-libro .figura{display:none}}
.portada-libro .marca-nut{font:700 .7rem/1 'Source Sans 3',sans-serif;letter-spacing:.3em;color:var(--salvia);text-transform:uppercase;margin:0 0 20px}
.portada-libro h1{font-size:var(--paso-4);max-width:15ch;font-weight:600;line-height:1.02}
.portada-libro .sub{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:420;font-size:var(--paso-1);color:var(--tinta-suave);margin:12px 0 8px}
.portada-libro .autora{font:600 .96rem/1.6 'Source Sans 3',sans-serif;color:var(--tinta-suave);max-width:42ch}

/* rutas por síntoma */
.rutas{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:32px 0 6px}
.ruta{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);padding:22px 24px;min-width:0;
  box-shadow:var(--sombra-1);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.ruta:hover{transform:translateY(-3px);box-shadow:var(--sombra-2)}
.ruta h3{font-size:1.04rem;margin:0 0 12px;color:var(--terracota-oscuro)}
.ruta-caps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.ruta-caps li{position:relative;padding-left:20px;font-size:.95rem;line-height:1.35}
.ruta-caps li::before{content:"→";position:absolute;left:0;top:1px;color:var(--salvia);font-weight:700;
  transition:transform .22s var(--ease)}
.ruta-caps li:hover::before{transform:translateX(3px)}
.ruta-caps a{color:var(--tinta);font-weight:600;background:none}
.ruta-caps a:hover{color:var(--terracota)}

/* tarjetas de capítulo */
.capitulos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin:40px 0 10px}
.cap{position:relative;overflow:hidden;background:var(--blanco);border:1px solid var(--linea);
  border-radius:var(--radio);padding:28px 26px;min-width:0;display:flex;flex-direction:column;gap:8px;
  box-shadow:var(--sombra-1);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.cap::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--terracota);
  transform:scaleY(0);transform-origin:top;transition:transform .3s var(--ease)}
.cap:hover{transform:translateY(-4px);box-shadow:var(--sombra-3);border-color:var(--linea-fuerte)}
.cap:hover::before{transform:scaleY(1)}
.cap .num{font:700 .72rem/1 'Source Sans 3',sans-serif;letter-spacing:.14em;color:var(--salvia)}
.cap h3{margin:0}
.cap h3 a{color:var(--tinta);background:none}
.cap:hover h3 a{color:var(--terracota-oscuro)}
.cap p{color:var(--tinta-suave);font-size:.96rem;margin:0}
.cap .mas{margin-top:auto;padding-top:12px;font-weight:700;font-size:.9rem;color:var(--terracota);
  display:inline-flex;align-items:center;gap:6px}
.cap .mas::after{content:"→";transition:transform .25s var(--ease)}
.cap:hover .mas::after{transform:translateX(4px)}

/* ================= bloques del libro ================= */
.dice{position:relative;background:linear-gradient(180deg,var(--arena),var(--fondo-2));
  border:1px solid var(--linea);border-radius:var(--radio);padding:26px 28px 24px;margin:2em 0;overflow:hidden}
.dice::before{content:"\201C";position:absolute;right:14px;top:-14px;font-family:'Fraunces',Georgia,serif;
  font-size:6rem;line-height:1;color:var(--terracota);opacity:.14}
.dice .rotulo{display:flex;align-items:center;gap:9px;font:700 .72rem/1 'Source Sans 3',sans-serif;
  letter-spacing:.16em;color:var(--terracota);text-transform:uppercase;margin:0 0 12px}
.dice .rotulo::before{content:"";width:22px;height:22px;flex:0 0 auto;background:var(--terracota);
  -webkit-mask:url('/assets/logo.svg') center/contain no-repeat;mask:url('/assets/logo.svg') center/contain no-repeat}
.dice p{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:440;font-size:1.14rem;line-height:1.5;margin:0;color:var(--tinta)}
.dice p + p{margin-top:.6em}

.historia{position:relative;padding:6px 0 6px 26px;margin:1.8em 0;color:var(--tinta-suave);font-size:1.05rem}
.historia::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:3px;border-radius:2px;
  background:linear-gradient(var(--salvia),var(--salvia-clara))}
.historia p{margin:0 0 .8em}
.historia p:last-child{margin:0}

.mitos{margin:2em 0;display:flex;flex-direction:column;gap:14px}
.mito-par{display:grid;grid-template-columns:1fr 1.35fr;border:1px solid var(--linea);
  border-radius:var(--radio);overflow:hidden;background:var(--blanco);box-shadow:var(--sombra-1)}
.mito-par .m,.mito-par .r{padding:18px 20px;font-size:.97rem;line-height:1.55;min-width:0}
.mito-par .m{background:linear-gradient(180deg,#F6EAE3,#F2E2D8);color:#7E4130}
.mito-par .m b,.mito-par .r b{display:flex;align-items:center;gap:7px;
  font:700 .68rem/1 'Source Sans 3',sans-serif;letter-spacing:.13em;margin-bottom:9px;text-transform:uppercase}
.mito-par .m b::before{content:"✕";display:grid;place-items:center;width:17px;height:17px;border-radius:50%;
  background:#C6704F;color:#fff;font-size:.6rem}
.mito-par .m b{color:#B25638}
.mito-par .r b{color:var(--salvia)}
.mito-par .r b::before{content:"✓";display:grid;place-items:center;width:17px;height:17px;border-radius:50%;
  background:var(--salvia);color:#fff;font-size:.62rem}
.mito-par .r{background:var(--blanco);color:var(--tinta)}
@media(max-width:620px){.mito-par{grid-template-columns:1fr}}

.hoy,.charlar{border-radius:var(--radio);padding:22px 26px;margin:2em 0;border:1px solid var(--linea)}
.hoy{background:linear-gradient(180deg,#EEF2EC,#E9EFE6);border-color:#D6E0D2}
.charlar{background:var(--blanco);box-shadow:var(--sombra-1)}
.hoy .rotulo,.charlar .rotulo{display:flex;align-items:center;gap:9px;
  font:700 .73rem/1 'Source Sans 3',sans-serif;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px}
.hoy .rotulo{color:var(--salvia)}.hoy .rotulo::before{content:"✦";font-size:.9rem}
.charlar .rotulo{color:var(--terracota)}.charlar .rotulo::before{content:"✎";font-size:.95rem}
.hoy ul,.charlar ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.hoy li,.charlar li{position:relative;padding-left:26px;line-height:1.5}
.hoy li::before{content:"→";position:absolute;left:0;top:1px;color:var(--salvia);font-weight:700}
.charlar li::before{content:"";position:absolute;left:2px;top:9px;width:7px;height:7px;border-radius:50%;
  border:2px solid var(--terracota)}

/* fichas de ejercicio (anexo A) */
.ficha-ej{position:relative;border:1px solid var(--linea);border-radius:var(--radio);background:var(--blanco);
  padding:26px 28px;margin:0 0 20px;box-shadow:var(--sombra-1);transition:box-shadow .3s var(--ease)}
.ficha-ej:hover{box-shadow:var(--sombra-2)}
.ficha-ej h3{margin:.15em 0 12px}
.ficha-ej .num-ej{font:700 .7rem/1 'Source Sans 3',sans-serif;letter-spacing:.18em;color:var(--oro)}
.ficha-ej p{font-size:.99rem;margin:0 0 .6em;line-height:1.6}
.ficha-ej p b{color:var(--terracota-oscuro)}

.def{margin:0 0 14px}
.def dt{font-weight:700;color:var(--terracota-oscuro)}
.def dd{margin:2px 0 10px;color:var(--tinta-suave)}

/* ================= banda inspiracional ================= */
.lema{position:relative;overflow:hidden;padding:clamp(64px,9vw,104px) 0;text-align:center;
  background:radial-gradient(120% 140% at 50% 0%,#403A34,var(--tinta))}
.lema::before{content:"\201C";position:absolute;left:50%;top:8px;transform:translateX(-50%);
  font-family:'Fraunces',Georgia,serif;font-size:11rem;line-height:1;color:#fff;opacity:.06}
.lema blockquote{position:relative;margin:0 auto;max-width:30ch;
  font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:420;
  font-size:var(--paso-2);line-height:1.36;color:#F6EFE7}
.lema .de{display:block;margin-top:22px;font:700 .73rem/1 'Source Sans 3',sans-serif;
  letter-spacing:.2em;text-transform:uppercase;color:var(--oro);font-style:normal}

/* historias en portada */
.historias .grilla{grid-template-columns:repeat(auto-fit,minmax(232px,1fr))}
.historias .tarjeta{gap:12px}
.historias .tarjeta .frase{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:440;
  font-size:1.18rem;line-height:1.34;color:var(--tinta);margin:0}
.historias .tarjeta .quien{font:700 .71rem/1.35 'Source Sans 3',sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--salvia);margin:0}

/* seguir leyendo */
.seguir .grilla{margin-top:20px}

/* ================= reveal on scroll (solo con JS activo) ================= */
@media(prefers-reduced-motion:no-preference){
  html.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease);will-change:opacity,transform}
  html.js .reveal.visible{opacity:1;transform:none}
}
