/* ==========================================================================
   TERAPIA Y NEGOCIOS — capa de estilo sobre styles.css
   Misma base (tinta, tipografías, rejilla); acento cálido propio para la línea.
   ========================================================================== */

:root{
  --tyn:        #E8927C;
  --tyn-dim:    rgba(232,146,124,.14);
  --tyn-line:   rgba(232,146,124,.38);
  --tyn-deep:   #2A1715;
  --tyn-ink:    #0F0B10;
}

/* ---------- Acento de la línea ---------- */
.tyn .eyebrow, .tyn-eyebrow{color:var(--tyn);}
.tyn .eyebrow::before, .tyn-eyebrow::before{background:var(--tyn);}
.btn-tyn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--f-mono); font-size:13px; letter-spacing:.04em; text-transform:uppercase;
  padding:14px 26px; border-radius:var(--radius); cursor:pointer; transition:all .22s ease;
  background:var(--tyn); color:#2A120C; border:1px solid var(--tyn); white-space:nowrap;
}
.btn-tyn:hover{background:transparent; color:var(--tyn);}
.tyn .btn-outline:hover{border-color:var(--tyn); color:var(--tyn);}
.tyn a.link{color:var(--tyn); border-bottom:1px solid var(--tyn-line);}

/* ---------- Franja puente en el index ---------- */
.section.tyn-bridge{
  background:
    radial-gradient(ellipse 760px 420px at 85% 15%, rgba(232,146,124,.12), transparent 60%),
    var(--tyn-ink);
  border-top:1px solid rgba(232,146,124,.22);
  border-bottom:1px solid rgba(232,146,124,.22);
}
.tyn-bridge .eyebrow{color:var(--tyn);}
.tyn-bridge .eyebrow::before{background:var(--tyn);}
.tyn-bridge-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center;}
.tyn-bridge h2{font-size:clamp(1.8rem,3vw,2.6rem); margin:16px 0 18px; color:var(--text-lt);}
.tyn-bridge h2 em{font-style:italic; color:var(--tyn);}
.tyn-bridge p{color:var(--text-lt-mut); font-size:15.5px; max-width:54ch; margin-bottom:16px;}
.tyn-bridge-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-top:28px;}
.tyn-acts{display:flex; flex-direction:column; border-top:1px solid rgba(232,146,124,.2);}
.tyn-act{display:grid; grid-template-columns:44px 1fr; gap:14px; padding:20px 0; border-bottom:1px solid rgba(232,146,124,.2);}
.tyn-act .n{font-family:var(--f-mono); font-size:12px; color:var(--tyn); padding-top:3px;}
.tyn-act h4{font-family:var(--f-display); font-size:1.08rem; color:var(--text-lt); margin-bottom:4px;}
.tyn-act p{font-size:14px; color:var(--text-lt-mut); margin:0;}

/* ---------- Landing ---------- */
.tyn-hero{
  position:relative; min-height:100svh; display:flex; align-items:center; padding:140px 0 90px; overflow:hidden;
  background:
    radial-gradient(ellipse 900px 520px at 80% 10%, rgba(232,146,124,.13), transparent 60%),
    radial-gradient(ellipse 700px 420px at 10% 95%, rgba(70,217,200,.06), transparent 60%),
    var(--tyn-ink);
}
.tyn-hero-bg{
  position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:radial-gradient(rgba(232,146,124,.16) 1px, transparent 1px);
  background-size:28px 28px;
  -webkit-mask-image:radial-gradient(ellipse 60% 60% at 70% 40%, #000 10%, transparent 75%);
          mask-image:radial-gradient(ellipse 60% 60% at 70% 40%, #000 10%, transparent 75%);
  animation:tynDeriva 40s linear infinite;
}
@keyframes tynDeriva{to{background-position:28px 56px;}}
.tyn-hero .container{width:100%; position:relative; z-index:2;}
.tyn-hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center;}
.tyn-hero h1{font-size:clamp(2.3rem,4.4vw,3.8rem); color:var(--text-lt); margin:22px 0 22px; max-width:18ch;}
.tyn-hero h1 em{font-style:italic; color:var(--tyn);}
.tyn-hero .hero-sub{max-width:56ch;}
.tyn-hero .hero-cta{margin-bottom:44px;}
.tyn-stats{gap:28px; flex-wrap:nowrap;}
.tyn-stats span{display:block; max-width:20ch;}
.tyn-stats strong{color:var(--tyn);}
.tyn-presencia .tyn-split{align-items:center;}
.tyn-hero .evento-tag{
  display:inline-block; margin:-18px 0 34px; font-family:var(--f-mono); font-size:12px; color:var(--tyn);
  border:1px solid var(--tyn-line); padding:8px 14px; border-radius:20px;
}

/* Firma visual: la fusión */
.fusion-wrap{position:relative; width:100%; height:380px;}
.fusion-wrap svg{width:100%; height:100%; overflow:visible;}
.fusion-line{fill:none; stroke-width:1.7; stroke-linecap:round; stroke-dasharray:900; stroke-dashoffset:900;
  animation:tynTrazo 3.2s cubic-bezier(.65,0,.35,1) forwards .3s;}
.fusion-line.tu{stroke:var(--tyn); filter:drop-shadow(0 0 6px rgba(232,146,124,.6));}
.fusion-line.negocio{stroke:var(--signal); filter:drop-shadow(0 0 6px rgba(70,217,200,.5)); animation-delay:.55s;}
@keyframes tynTrazo{to{stroke-dashoffset:0;}}
.fusion-label{font-family:var(--f-mono); font-size:11px; letter-spacing:.14em; opacity:0; animation:tynAparece .8s ease forwards .6s;}
.fusion-label.tu{fill:var(--tyn);}
.fusion-label.negocio{fill:var(--signal);}
.fusion-label.fin{fill:var(--text-lt-mut); animation-delay:3.3s;}
.fusion-node{fill:var(--tyn-ink); stroke:var(--tyn); stroke-width:1.5; opacity:0; animation:tynAparece .5s ease forwards;}
.fusion-pulse{fill:#fff; opacity:0; filter:drop-shadow(0 0 5px #E8927C); animation:tynAparece .6s ease forwards 3.4s;}
.fusion-glow{transform-origin:220px 180px; opacity:0; animation:tynAparece 1s ease forwards 1.9s, tynRespira 5s ease-in-out infinite 2.9s;}
@keyframes tynAparece{to{opacity:1;}}
@keyframes tynRespira{0%,100%{transform:scale(1);} 50%{transform:scale(1.22);}}

/* Aparición escalonada de los hijos de un bloque .stagger */
.stagger > *{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
.stagger.in > *{opacity:1; transform:none;}
.stagger.in > *:nth-child(2){transition-delay:.12s;}
.stagger.in > *:nth-child(3){transition-delay:.24s;}
.stagger.in > *:nth-child(4){transition-delay:.36s;}
.stagger.in > *:nth-child(5){transition-delay:.48s;}
.tyn-kicker{color:var(--text-lt-mut); margin-bottom:18px; font-family:var(--f-mono); font-size:12.5px; text-transform:uppercase; letter-spacing:.08em;}

.tyn-senales{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(232,146,124,.2); border:1px solid rgba(232,146,124,.2);}
.tyn-senal{background:var(--ink); padding:30px 26px;}
.tyn-senal .n{font-family:var(--f-mono); font-size:12px; color:var(--tyn); display:block; margin-bottom:14px;}
.tyn-senal p{color:var(--text-lt); font-family:var(--f-display); font-size:1.12rem; line-height:1.35;}

.tyn-heridas{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.1);}
.tyn-herida{background:var(--ink-2); padding:28px 22px; display:flex; flex-direction:column; gap:10px; position:relative; transition:background .3s ease;}
.tyn-herida::after{content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--tyn); transform:scaleX(0); transform-origin:left; transition:transform .45s ease;}
.tyn-herida:hover{background:#171F36;}
.tyn-herida:hover::after{transform:scaleX(1);}
.tyn-herida .glyph{width:52px; height:52px; margin-bottom:6px; fill:none; stroke:var(--tyn); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
.tyn-herida .glyph *{stroke-dasharray:140; stroke-dashoffset:140;}
.tyn-heridas.in .glyph *{animation:tynTrazo 1.6s ease forwards .4s;}
.tyn-heridas.in .tyn-herida:nth-child(2) .glyph *{animation-delay:.55s;}
.tyn-heridas.in .tyn-herida:nth-child(3) .glyph *{animation-delay:.7s;}
.tyn-heridas.in .tyn-herida:nth-child(4) .glyph *{animation-delay:.85s;}
.tyn-heridas.in .tyn-herida:nth-child(5) .glyph *{animation-delay:1s;}
.tyn-herida .glyph [stroke-dasharray="2 3"]{stroke-dasharray:2 3; stroke-dashoffset:0; animation:none !important;}
.tyn-herida .mono{font-size:11px; color:var(--tyn); text-transform:uppercase; letter-spacing:.08em;}
.tyn-herida h4{font-family:var(--f-display); font-size:1.12rem; color:var(--text-lt);}
.tyn-herida p{font-size:13.5px; color:var(--text-lt-mut);}

.tyn-escalera{display:flex; flex-direction:column; border-top:1px solid rgba(255,255,255,.1);}
.tyn-peldano{display:grid; grid-template-columns:70px 1.2fr 1.6fr 150px; gap:24px; align-items:center; padding:24px 0; border-bottom:1px solid rgba(255,255,255,.1);}
.tyn-peldano .num{font-family:var(--f-mono); font-size:13px; color:var(--tyn);}
.tyn-peldano h4{font-family:var(--f-display); font-size:1.12rem; color:var(--text-lt);}
.tyn-peldano h4 span{display:block; font-family:var(--f-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-lt-mut); margin-top:4px; font-weight:400;}
.tyn-peldano p{font-size:14px; color:var(--text-lt-mut);}
.tag.tyn{background:var(--tyn-dim); color:var(--tyn); border:1px solid var(--tyn-line);}

.tyn-quote{
  font-family:var(--f-display); font-style:italic; font-size:1.45rem; line-height:1.45; color:var(--text-lt);
  border-left:2px solid var(--tyn); padding-left:26px; max-width:38ch;
}
.tyn-split{display:grid; grid-template-columns:.95fr 1.05fr; gap:70px; align-items:start;}
.tyn-split p{color:var(--text-lt-mut); font-size:15.5px; margin-bottom:16px;}
.tyn-split strong{color:var(--text-lt); font-weight:600;}

/* ---------- Cuestionario ---------- */
.tyn-progreso{
  position:sticky; top:0; z-index:20; background:rgba(10,14,23,.94); backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,.08); padding:12px 0; margin:0 -24px 30px; padding-left:24px; padding-right:24px;
}
.tyn-progreso .txt{display:flex; justify-content:space-between; font-family:var(--f-mono); font-size:11.5px; color:var(--text-lt-mut); margin-bottom:6px;}
.tyn-progreso .track{height:4px; background:rgba(255,255,255,.08); border-radius:2px; overflow:hidden;}
.tyn-progreso .fill{height:100%; width:0; background:var(--tyn); transition:width .25s ease;}
.tyn .sistema-block h3{color:var(--tyn);}
.tyn .escala input{accent-color:var(--tyn);}
.tyn .leyenda-escala .num{color:var(--tyn); border-color:var(--tyn-line);}
.tyn .instrucciones{border-color:var(--tyn-line);}
.escala label.na .escala-num{color:var(--text-lt-mut); font-weight:400;}
.pregunta.falta{border-left:2px solid var(--alert); padding-left:14px;}
.tyn-subbloque{font-family:var(--f-mono); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--tyn); margin:30px 0 14px; font-weight:400;}
.tyn-campo{margin-bottom:22px;}
.tyn-campo label{display:block; font-size:15px; margin-bottom:10px; color:var(--text-lt);}
.tyn-campo label .req{color:var(--tyn); font-family:var(--f-mono); font-size:11px; margin-left:6px;}
.tyn-campo textarea, .tyn-campo input[type=number], .tyn-campo input[type=text], .tyn-campo select{
  width:100%; padding:12px 14px; background:var(--ink); border:1px solid rgba(255,255,255,.14);
  color:var(--text-lt); border-radius:2px; font-family:var(--f-body); font-size:14.5px;
}
.tyn-campo textarea{min-height:92px; resize:vertical; line-height:1.5;}
.tyn-campo input:focus, .tyn-campo textarea:focus, .tyn-campo select:focus{outline:none; border-color:var(--tyn);}
.tyn-campo .ayuda{font-size:12.5px; color:var(--text-lt-mut); margin-top:6px;}
.tyn-consentimiento{background:var(--ink-2); border:1px solid var(--tyn-line); padding:22px 26px; margin:10px 0 34px;}
.tyn-consentimiento h4{font-family:var(--f-display); font-size:1.02rem; margin-bottom:12px; color:var(--text-lt);}
.tyn-check{display:flex; gap:10px; align-items:flex-start; margin-bottom:12px; font-size:13.5px; color:var(--text-lt-mut);}
.tyn-check input{margin-top:3px; accent-color:var(--tyn); width:16px; height:16px; flex-shrink:0;}
.tyn-check a{color:var(--tyn);}

/* ---------- Resultado ---------- */
.tyn .result-card{border-color:var(--tyn-line);}
.tyn-herida-titulo{font-family:var(--f-display); font-size:clamp(1.9rem,3.4vw,2.6rem); color:var(--text-lt); margin:12px 0 16px;}
.tyn-herida-titulo small{display:block; font-family:var(--f-mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--tyn); margin-bottom:8px; font-weight:400;}
.tyn-aviso{border-left:2px solid var(--tyn); padding:4px 0 4px 18px; margin-top:22px; color:var(--text-lt); font-size:14.5px;}
.bar-fill.tyn{background:var(--tyn);}
.bar-fill.tyn-bajo{background:rgba(232,146,124,.45);}
.tyn-alerta{background:rgba(199,55,59,.10); border:1px solid rgba(199,55,59,.45); padding:24px 26px; margin-bottom:26px;}
.tyn-alerta.moderado{background:rgba(217,169,62,.08); border-color:rgba(217,169,62,.45);}
.tyn-alerta h3{font-family:var(--f-display); font-size:1.15rem; color:var(--text-lt); margin-bottom:8px;}
.tyn-alerta p{color:var(--text-lt-mut); font-size:14.5px; margin-bottom:16px;}
.tyn-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
.tyn-mini{background:var(--ink-2); border:1px solid rgba(255,255,255,.08); padding:26px;}
.tyn-mini h4{font-family:var(--f-display); font-size:1.05rem; color:var(--text-lt); margin:10px 0 8px;}
.tyn-mini p{font-size:14px; color:var(--text-lt-mut);}
.tyn-capas{display:grid; grid-template-columns:140px 1fr; gap:10px 22px; margin-top:18px;}
.tyn-capas dt{font-family:var(--f-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--tyn); padding-top:2px;}
.tyn-capas dd{font-size:14.5px; color:var(--text-lt-mut);}
.tyn-tabla{width:100%; border-collapse:collapse; font-size:13.5px; margin-top:12px;}
.tyn-tabla th{font-family:var(--f-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--text-lt-mut); text-align:left; padding:8px 8px; border-bottom:1px solid rgba(255,255,255,.14); font-weight:400;}
.tyn-tabla td{padding:12px 8px; border-bottom:1px solid rgba(255,255,255,.06); color:var(--text-lt); vertical-align:top;}
.tyn-tabla td.num{font-family:var(--f-mono); text-align:right; white-space:nowrap;}
.tyn-cifra{font-family:var(--f-mono); font-size:26px; color:var(--text-lt);}
.tyn-cifra.neg{color:#f2a3a5;}
.tyn-cifra.pos{color:#8fe0c0;}
.tyn-pregunta{margin-top:10px; font-size:13.5px; color:var(--tyn); font-style:italic;}
.tyn-banner-ok{background:rgba(70,217,200,.08); border:1px solid rgba(70,217,200,.35); padding:14px 18px; font-size:14px; color:var(--text-lt); margin-bottom:24px;}
.tyn-nota{font-size:12px; color:var(--text-lt-mut); margin-top:26px; line-height:1.6;}
.tyn-recursos{display:flex; flex-direction:column; gap:14px; margin:22px 0;}
.tyn-recurso{display:flex; justify-content:space-between; align-items:center; gap:16px; background:var(--ink-2); border:1px solid var(--tyn-line); padding:18px 22px; flex-wrap:wrap;}
.tyn-recurso strong{font-family:var(--f-display); font-size:1.05rem; color:var(--text-lt); display:block;}
.tyn-recurso span{font-size:13px; color:var(--text-lt-mut);}
.tyn-recurso a{font-family:var(--f-mono); font-size:20px; color:var(--tyn);}

/* ---------- Panel ---------- */
.tyn-panel-block{background:linear-gradient(155deg, var(--tyn-deep), var(--ink-2)); border:1px solid var(--tyn-line); padding:22px 26px; margin-bottom:36px;}
.tyn-panel-block .eyebrow{color:var(--tyn);}
.tyn-panel-block .eyebrow::before{background:var(--tyn);}


/* ---------- Prueba de la presencia ---------- */
.section.tyn-presencia{
  background:
    radial-gradient(ellipse 700px 400px at 90% 50%, rgba(232,146,124,.08), transparent 65%),
    var(--ink);
}
.presencia-card{background:var(--ink-2); border:1px solid var(--tyn-line); padding:32px 30px;}
.presencia-pregunta{display:block; font-family:var(--f-display); font-size:1.15rem; line-height:1.35; color:var(--text-lt); margin-bottom:18px;}
.presencia-valor{font-family:var(--f-mono); font-size:56px; line-height:1; color:var(--tyn); margin-bottom:18px;}
.presencia-valor small{font-size:22px; margin-left:4px; color:var(--text-lt-mut);}
#presencia-rango{
  --p:65%; -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:3px; outline:none; cursor:pointer;
  background:linear-gradient(90deg, var(--signal) 0%, #D9A93E 50%, var(--tyn) 100%);
}
#presencia-rango::-webkit-slider-thumb{-webkit-appearance:none; width:24px; height:24px; border-radius:50%; background:var(--tyn-ink); border:2px solid #fff; box-shadow:0 0 0 5px rgba(232,146,124,.25); cursor:grab;}
#presencia-rango::-moz-range-thumb{width:22px; height:22px; border-radius:50%; background:var(--tyn-ink); border:2px solid #fff; box-shadow:0 0 0 5px rgba(232,146,124,.25); cursor:grab;}
#presencia-rango:focus-visible{outline:2px solid var(--tyn); outline-offset:6px;}
.presencia-escala{display:grid; grid-template-columns:repeat(5,1fr); gap:4px; margin-top:12px;}
.presencia-escala span{font-family:var(--f-mono); font-size:10px; letter-spacing:.04em; text-transform:uppercase; color:var(--text-lt-mut); text-align:center; opacity:.55; transition:all .25s ease;}
.presencia-escala span:first-child{text-align:left;}
.presencia-escala span:last-child{text-align:right;}
.presencia-escala span.activo{opacity:1; color:var(--tyn);}
.presencia-lectura{margin:24px 0 16px; padding:16px 18px; border-left:2px solid var(--tyn); background:rgba(232,146,124,.06); min-height:108px;}
.presencia-lectura strong{font-family:var(--f-display); font-size:1.2rem; color:var(--text-lt); display:block; margin-bottom:6px;}
.presencia-lectura p{font-size:14.5px; color:var(--text-lt-mut); margin:0;}
.presencia-nota{font-size:13px; color:var(--text-lt-mut); margin-bottom:22px;}

/* ---------- El libro ---------- */
.section.tyn-libro{
  background:
    radial-gradient(ellipse 620px 520px at 22% 50%, rgba(232,146,124,.14), transparent 65%),
    linear-gradient(180deg, var(--tyn-ink), #140C10 60%, var(--tyn-ink));
  border-top:1px solid rgba(232,146,124,.18); border-bottom:1px solid rgba(232,146,124,.18);
}
.tyn-libro-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:center;}
.tyn-libro-grid p{color:var(--text-lt-mut); font-size:15.5px; margin-bottom:16px; max-width:60ch;}
.libro-titulo{font-size:clamp(2rem,3.6vw,3rem); color:var(--text-lt); margin:16px 0 24px;}
.libro-titulo small{display:block; font-family:var(--f-display); font-style:italic; font-weight:500; font-size:.5em; color:var(--tyn); margin-top:10px; line-height:1.3;}
.libro-3d{perspective:1400px; display:flex; justify-content:center;}
.libro-objeto{position:relative; width:min(300px,78vw); aspect-ratio:2/3; transform-style:preserve-3d;
  transform:rotateY(-22deg) rotateX(4deg); transition:transform .8s cubic-bezier(.2,.7,.2,1);
  animation:tynFlota 7s ease-in-out infinite;}
.libro-objeto:hover{transform:rotateY(-6deg) rotateX(2deg);}
@keyframes tynFlota{0%,100%{translate:0 0;} 50%{translate:0 -10px;}}
.libro-cara{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:2px 6px 6px 2px;
  box-shadow:30px 36px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.06); backface-visibility:hidden;}
.libro-lomo{position:absolute; top:0; left:0; width:34px; height:100%; transform-origin:left; transform:rotateY(90deg) translateX(-34px);
  background:linear-gradient(90deg, #5a2c24, #8a4536);}
.libro-cara::before{content:""; position:absolute; inset:0 auto 0 0; width:10px; background:linear-gradient(90deg, rgba(0,0,0,.35), transparent); border-radius:2px 0 0 2px; z-index:2;}
.libro-provisional{display:flex; flex-direction:column; justify-content:flex-end; padding:30px 26px; overflow:hidden;
  background:radial-gradient(ellipse 120% 70% at 50% 25%, #3A1E1B, #0F0B10 70%);}
.libro-provisional svg{position:absolute; left:0; right:0; top:14%; width:100%; fill:none; stroke:var(--tyn); stroke-width:1.4; opacity:.9;}
.libro-provisional svg .b{stroke:var(--signal); opacity:.8;}
.lp-titulo{font-family:var(--f-display); font-weight:900; font-size:2.1rem; line-height:1; color:#F4EEE9; position:relative;}
.lp-sub{font-family:var(--f-display); font-style:italic; font-size:.92rem; color:var(--tyn); margin-top:12px; line-height:1.3; position:relative;}
.lp-autor{font-family:var(--f-mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--text-lt-mut); margin-top:26px; position:relative;}
.libro-partes{margin:26px 0 30px; border-top:1px solid rgba(232,146,124,.2);}
.libro-partes details{border-bottom:1px solid rgba(232,146,124,.2);}
.libro-partes summary{cursor:pointer; list-style:none; padding:16px 0; font-family:var(--f-display); font-size:1.08rem; color:var(--text-lt); display:flex; gap:16px; align-items:baseline;}
.libro-partes summary::-webkit-details-marker{display:none;}
.libro-partes summary::after{content:"+"; margin-left:auto; font-family:var(--f-mono); color:var(--tyn); transition:transform .25s ease;}
.libro-partes details[open] summary::after{transform:rotate(45deg);}
.libro-partes summary .mono{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--tyn); min-width:84px;}
.libro-partes ol{margin:0 0 18px 80px; padding:0; color:var(--text-lt-mut); font-size:14.5px; line-height:1.9;}
.libro-partes ol li::marker{font-family:var(--f-mono); color:var(--tyn); font-size:12px;}
.libro-ctas{display:flex; gap:14px; flex-wrap:wrap;}

/* ---------- Fechas del taller vivencial ---------- */
.viv-fechas{display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:20px;}
.viv-fecha{background:var(--ink); border:1px solid var(--tyn-line); padding:26px 24px; display:flex; flex-direction:column; gap:8px;}
.viv-fecha .mono{font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--tyn);}
.viv-fecha h4{font-family:var(--f-display); font-size:1.15rem; color:var(--text-lt);}
.viv-fecha p{font-size:14px; color:var(--text-lt-mut); margin:0;}
.viv-fecha .precio{font-family:var(--f-mono); font-size:20px; color:var(--text-lt); margin-top:6px;}
.viv-fecha .precio small{font-size:11px; color:var(--tyn); text-transform:uppercase; letter-spacing:.06em;}
.viv-fecha .lugares{font-size:12.5px;}
.viv-fecha .btn-tyn{align-self:flex-start; margin-top:10px;}

/* ---------- El despacho ---------- */
.despacho-cifras{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.1); margin:64px 0 1px;}
.despacho-cifras > div{background:var(--ink); padding:30px 28px;}
.despacho-cifras strong{font-family:var(--f-mono); font-size:52px; line-height:1; color:var(--tyn); font-weight:500;}
.despacho-cifras em{font-family:var(--f-mono); font-style:normal; font-size:30px; color:var(--tyn); vertical-align:top;}
.despacho-cifras span{display:block; margin-top:12px; font-size:13.5px; color:var(--text-lt-mut); max-width:30ch;}
.despacho-disciplinas{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.1); border-top:none;}
.despacho-disciplinas > div{background:var(--ink-2); padding:26px 22px; transition:background .3s ease;}
.despacho-disciplinas > div:hover{background:#171F36;}
.despacho-disciplinas .mono{font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--tyn); display:block; margin-bottom:10px;}
.despacho-disciplinas p{font-size:13.5px; color:var(--text-lt-mut); margin:0;}

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .tyn-bridge-grid, .tyn-split{grid-template-columns:1fr; gap:36px;}
  .tyn-hero-grid{grid-template-columns:1fr; gap:10px;}
  .fusion-wrap{height:230px; order:-1;}
  .tyn-libro-grid{grid-template-columns:1fr; gap:56px;}
  .libro-objeto{width:min(240px,62vw);}
  .despacho-cifras{grid-template-columns:1fr;}
  .despacho-disciplinas{grid-template-columns:1fr 1fr;}
  .tyn-heridas{grid-template-columns:1fr 1fr;}
  .tyn-senales{grid-template-columns:1fr;}
  .tyn-peldano{grid-template-columns:1fr; gap:8px;}
  .tyn-peldano .tag{justify-self:start;}
  .tyn-grid-2{grid-template-columns:1fr;}
}
@media (max-width: 600px){
  .tyn-heridas{grid-template-columns:1fr;}
  .tyn-stats{flex-wrap:wrap;}
  .despacho-disciplinas{grid-template-columns:1fr;}
  .presencia-card{padding:24px 20px;}
  .presencia-escala span{font-size:8.5px;}
  .libro-partes ol{margin-left:24px;}
  .fusion-wrap{height:200px;}
  .tyn-capas{grid-template-columns:1fr; gap:4px;}
  .tyn-capas dd{margin-bottom:12px;}
  .escala{gap:8px;}
  .escala label{width:58px;}
  .tyn .escala-label{font-size:9px; letter-spacing:-.01em;}
}

@media (prefers-reduced-motion: reduce){
  .tyn-hero-bg, .libro-objeto, .fusion-glow{animation:none;}
  .fusion-line, .tyn-herida .glyph *{animation:none; stroke-dashoffset:0;}
  .fusion-label, .fusion-node, .fusion-glow{animation:none; opacity:1;}
  .fusion-pulse{display:none;}
  .stagger > *{opacity:1; transform:none; transition:none;}
}
