/* ==========================================================================
   TAXIUM — sistema editorial de artículo.
   Columna de lectura centrada con salidas a ancho completo, para que las
   imágenes y el vídeo rompan la medida sin sacar el texto de su sitio.
   ========================================================================== */

/* --- Portada del artículo ---------------------------------------------- */
.tx-art-head{
  padding:calc(var(--tx-nav-h) + clamp(56px,10vh,110px)) var(--tx-gut) clamp(28px,5vh,52px);
  text-align:center;max-width:1000px;margin:0 auto;
}
.tx-art-head .tx-crumbs{justify-content:center}
.tx-art-head__kicker{display:block;font-family:var(--tx-mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--tx-piedra);margin-bottom:clamp(16px,2.6vh,26px)}
.tx-art-head h1{
  font-family:var(--tx-sans);font-variation-settings:"wdth" 88;font-weight:800;
  letter-spacing:-.042em;line-height:.94;font-size:clamp(33px,5.6vw,74px);
  max-width:19ch;margin:0 auto;text-wrap:balance;
}
.tx-art-head__meta{
  display:flex;gap:20px;justify-content:center;flex-wrap:wrap;
  margin-top:clamp(20px,3.4vh,34px);padding-top:clamp(18px,3vh,28px);
  border-top:1px solid var(--tx-linea);
  font-family:var(--tx-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx-tenue);
}
.tx-art-head__meta span{position:relative}
.tx-art-head__meta span+span::before{content:"";position:absolute;left:-11px;top:50%;width:3px;height:3px;border-radius:50%;background:var(--tx-verde);transform:translateY(-50%)}

/* --- Imagen de apertura a sangre --------------------------------------- */
.tx-art-lead{position:relative;margin:0 0 clamp(40px,7vh,80px);overflow:hidden}
.tx-art-lead img,.tx-art-lead video{width:100%;aspect-ratio:21/9;object-fit:cover;display:block;transform:scale(1.06)}
@media(max-width:700px){.tx-art-lead img,.tx-art-lead video{aspect-ratio:4/3}}
.tx-art-lead::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,13,9,.25),transparent 26%,transparent 72%,rgba(10,13,9,.5))}

/* --- Rejilla de lectura ------------------------------------------------- */
.tx-article__body{
  display:grid;
  grid-template-columns:
    [full-start] minmax(var(--tx-gut),1fr)
    [wide-start] minmax(0,250px)
    [text-start] min(66ch,100% - var(--tx-gut) * 2)
    [text-end] minmax(0,250px)
    [wide-end] minmax(var(--tx-gut),1fr)
    [full-end];
}
.tx-article__body>*{grid-column:text}
.tx-article__body>.tx-wide{grid-column:wide}
.tx-article__body>.tx-full{grid-column:full}

/* --- Texto -------------------------------------------------------------- */
#tx-main .tx-article__body :where(p,li){
  font-size:clamp(17px,1.35vw,19.5px);line-height:1.72;color:var(--tx-hueso-suave);
  letter-spacing:-.003em;
}
.tx-article__body>p{margin:0 0 1.35em}
#tx-main .tx-article__body>p.tx-lede,#tx-main .tx-article__body>.tx-lede{
  font-size:clamp(20px,2.1vw,26px);line-height:1.44;color:var(--tx-hueso);
  letter-spacing:-.018em;margin:0 0 clamp(34px,5vh,54px);text-wrap:pretty;
}
#tx-main .tx-article__body>h2{
  font-family:var(--tx-sans);font-variation-settings:"wdth" 90;font-weight:800;
  letter-spacing:-.032em;line-height:1.04;font-size:clamp(26px,3.2vw,42px);
  color:var(--tx-hueso);margin:clamp(52px,8vh,96px) 0 clamp(16px,2.4vh,24px);
  scroll-margin-top:100px;text-wrap:balance;
}
#tx-main .tx-article__body>h3{
  font-family:var(--tx-sans);font-weight:700;font-size:clamp(19px,1.9vw,24px);
  letter-spacing:-.022em;color:var(--tx-hueso);margin:clamp(32px,4.6vh,48px) 0 12px;
  scroll-margin-top:100px;
}
.tx-article__body>ul,.tx-article__body>ol{margin:0 0 1.5em;padding-left:0;list-style:none}
.tx-article__body>ol{counter-reset:li}
.tx-article__body>ul>li,.tx-article__body>ol>li{position:relative;padding-left:30px;margin:0 0 .85em}
.tx-article__body>ul>li::before{content:"";position:absolute;left:6px;top:.72em;width:6px;height:1px;background:var(--tx-piedra)}
.tx-article__body>ol>li{counter-increment:li}
.tx-article__body>ol>li::before{content:counter(li);position:absolute;left:0;top:.05em;font-family:var(--tx-mono);font-size:11px;color:var(--tx-piedra)}
#tx-main .tx-article__body :where(strong,b){color:var(--tx-hueso);font-weight:700}
#tx-main .tx-article__body a:not(.tx-btn):not(.tx-card){color:var(--tx-piedra);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:rgba(195,189,177,.4);transition:text-decoration-color .3s var(--tx-ease)}
#tx-main .tx-article__body a:not(.tx-btn):not(.tx-card):hover{text-decoration-color:var(--tx-piedra)}

/* --- Cita destacada ----------------------------------------------------- */
#tx-main .tx-article__body>blockquote{
  grid-column:wide;margin:clamp(48px,7vh,86px) 0;padding:clamp(26px,4vh,40px) 0;
  border-top:1px solid var(--tx-linea);border-bottom:1px solid var(--tx-linea);
  border-left:0;text-align:center;
}
#tx-main .tx-article__body>blockquote p,
#tx-main .tx-article__body>blockquote{
  font-family:var(--tx-serif);font-style:italic;font-weight:300;
  font-size:clamp(22px,3.2vw,40px);line-height:1.24;letter-spacing:-.02em;
  color:var(--tx-piedra);max-width:22ch;margin-inline:auto;
}

/* --- Figuras ------------------------------------------------------------ */
.tx-article__body>figure{margin:clamp(44px,7vh,88px) 0}
.tx-article__body>figure.tx-full{margin-inline:0}
.tx-fig{position:relative;overflow:hidden;background:var(--tx-tinta-2)}
.tx-fig img,.tx-fig video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.07);will-change:transform}
.tx-full .tx-fig{aspect-ratio:21/9}
.tx-wide .tx-fig{aspect-ratio:16/9;border-radius:3px}
@media(max-width:700px){.tx-full .tx-fig,.tx-wide .tx-fig{aspect-ratio:4/3}}
.tx-article__body figcaption{
  margin-top:14px;font-family:var(--tx-mono);font-size:11px;line-height:1.6;
  letter-spacing:.1em;text-transform:uppercase;color:var(--tx-tenue);
  max-width:60ch;
}
.tx-full>figcaption{padding-inline:var(--tx-gut);margin-inline:auto;text-align:center;max-width:70ch}

/* --- Cifras ------------------------------------------------------------- */
.tx-article__body>.tx-figs{
  grid-column:wide;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:1px;background:var(--tx-linea);border:1px solid var(--tx-linea);
  margin:clamp(44px,6vh,72px) 0;
}
.tx-figs>div{background:var(--tx-tinta);padding:clamp(22px,3vw,32px)}
#tx-main .tx-figs b{
  display:block;font-family:var(--tx-sans);font-variation-settings:"wdth" 94;
  font-weight:800;font-size:clamp(28px,3.4vw,46px);letter-spacing:-.04em;
  line-height:1;color:var(--tx-hueso);margin-bottom:10px;
}
#tx-main .tx-figs span{display:block;font-size:13.5px;line-height:1.5;color:var(--tx-tenue)}

/* --- Aviso / nota ------------------------------------------------------- */
.tx-article__body>.tx-note{
  margin:clamp(34px,5vh,56px) 0;padding:clamp(22px,3vw,30px);
  background:var(--tx-tinta-2);border:1px solid var(--tx-linea);border-left:2px solid var(--tx-verde);border-radius:2px;
}
#tx-main .tx-note p{margin:0;font-size:15.5px}
#tx-main .tx-note b{display:block;font-family:var(--tx-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--tx-piedra);margin-bottom:9px;font-weight:400}

/* --- Llamada intermedia ------------------------------------------------- */
.tx-article__body>.tx-inline-cta{
  grid-column:wide;margin:clamp(48px,7vh,84px) 0;padding:clamp(28px,4vw,44px);
  border:1px solid var(--tx-linea);border-radius:3px;text-align:center;
  background:radial-gradient(ellipse 80% 120% at 50% 100%,rgba(79,96,75,.3),transparent 70%),var(--tx-tinta-2);
}
#tx-main .tx-inline-cta h3{font-family:var(--tx-sans);font-weight:800;font-variation-settings:"wdth" 90;letter-spacing:-.03em;font-size:clamp(22px,2.6vw,32px);line-height:1.06;color:var(--tx-hueso);margin-bottom:12px}
#tx-main .tx-inline-cta p{font-size:15.5px;max-width:44ch;margin:0 auto 22px}
.tx-inline-cta .tx-acts{justify-content:center}

/* --- Desplegables dentro del artículo ---------------------------------- */
.tx-article__body>details{
  margin:0 0 10px;border:1px solid var(--tx-linea);border-radius:2px;background:var(--tx-tinta-2);
  opacity:1;transform:none;
}
.tx-article__body>details>summary{
  list-style:none;cursor:pointer;padding:16px 44px 16px 18px;position:relative;
  font-family:var(--tx-sans);font-weight:600;font-size:16px;color:var(--tx-hueso);min-height:52px;display:flex;align-items:center;
}
.tx-article__body>details>summary::-webkit-details-marker{display:none}
.tx-article__body>details>summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-family:var(--tx-mono);color:var(--tx-piedra);font-size:17px}
.tx-article__body>details[open]>summary::after{content:"–"}
.tx-article__body>details>div{padding:0 18px 18px}
#tx-main .tx-article__body>details p{font-size:15.5px;margin:0}

/* --- Índice lateral ----------------------------------------------------- */
.tx-toc{display:none}
@media(min-width:1400px){
  .tx-toc{
    display:block;position:fixed;
    left:calc(50% - min(66ch,100% - (var(--tx-gut) * 2)) / 2 - 258px);
    top:50%;transform:translateY(-50%);
    z-index:40;width:210px;max-height:70vh;overflow:auto;
    opacity:0;transition:opacity .5s var(--tx-ease),left .3s var(--tx-ease);pointer-events:none;
  }
  .tx-toc.is-on{opacity:1;pointer-events:auto}
  .tx-toc b{display:block;font-family:var(--tx-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--tx-tenue);margin-bottom:14px;font-weight:400}
  .tx-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--tx-linea)}
  .tx-toc li{margin:0}
  .tx-toc a{display:block;padding:7px 0 7px 14px;font-size:12.5px;line-height:1.35;color:var(--tx-tenue);border-left:1px solid transparent;margin-left:-1px;transition:color .3s var(--tx-ease),border-color .3s var(--tx-ease)}
  .tx-toc a:hover{color:var(--tx-hueso-suave)}
  .tx-toc a.is-active{color:var(--tx-hueso);border-left-color:var(--tx-piedra)}
}

/* --- Siguiente artículo ------------------------------------------------- */
.tx-next{position:relative;display:block;overflow:hidden;border-top:1px solid var(--tx-linea)}
.tx-next img{width:100%;aspect-ratio:21/9;object-fit:cover;opacity:.42;transition:transform 1.4s var(--tx-ease),opacity .6s var(--tx-ease)}
.tx-next:hover img{transform:scale(1.04);opacity:.6}
@media(max-width:700px){.tx-next img{aspect-ratio:3/2}}
.tx-next__in{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:var(--tx-gut)}
.tx-next__k{font-family:var(--tx-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--tx-piedra);margin-bottom:14px;display:block}
#tx-main .tx-next h3{font-family:var(--tx-sans);font-variation-settings:"wdth" 90;font-weight:800;letter-spacing:-.035em;line-height:1.02;font-size:clamp(24px,4vw,52px);color:var(--tx-hueso);max-width:16ch}

/* --- Movimiento reducido ------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  .tx-fig img,.tx-fig video,.tx-art-lead img,.tx-art-lead video{transform:none}
  .tx-toc{opacity:1}
}
.no-js .tx-fig img,.no-js .tx-art-lead img{transform:none}

/* --- Comparativa -------------------------------------------------------- */
.tx-article__body>.tx-compare{grid-column:wide;display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:14px;margin:clamp(40px,6vh,76px) 0}
.tx-compare>div{background:var(--tx-tinta-2);border:1px solid var(--tx-linea);border-radius:3px;padding:clamp(20px,2.4vw,26px);display:flex;flex-direction:column;gap:11px;transition:border-color .4s var(--tx-ease),transform .4s var(--tx-ease)}
.tx-compare>div:hover{border-color:var(--tx-linea-fuerte);transform:translateY(-3px)}
#tx-main .tx-compare h4{font-family:var(--tx-sans);font-weight:700;font-size:18px;line-height:1.2;color:var(--tx-hueso);letter-spacing:-.022em}
.tx-compare .tx-tag{align-self:flex-start;font-family:var(--tx-mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;padding:5px 11px;border-radius:100px;border:1px solid var(--tx-linea);color:var(--tx-tenue)}
.tx-compare .tx-tag--si{color:var(--tx-tinta);background:var(--tx-piedra);border-color:transparent}
.tx-compare .tx-tag--tal{color:var(--tx-piedra);border-color:var(--tx-linea-fuerte)}
#tx-main .tx-compare ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
#tx-main .tx-compare li{font-size:14px;line-height:1.5;padding-left:19px;position:relative;margin:0}
#tx-main .tx-compare li::before{display:none}
#tx-main .tx-compare li[data-p]::after{content:"+";position:absolute;left:0;top:0;color:var(--tx-piedra);font-family:var(--tx-mono);font-size:12px}
#tx-main .tx-compare li[data-c]::after{content:"–";position:absolute;left:0;top:0;color:var(--tx-tenue);font-family:var(--tx-mono);font-size:12px}

/* --- Etapas / cronología ------------------------------------------------ */
.tx-article__body>.tx-stages{grid-column:wide;margin:clamp(40px,6vh,76px) 0;border-top:1px solid var(--tx-linea)}
.tx-stages>div{display:grid;grid-template-columns:118px 1fr;gap:clamp(14px,3vw,34px);padding:clamp(18px,2.6vw,26px) 0;border-bottom:1px solid var(--tx-linea);align-items:start}
.tx-stages .tx-km{font-family:var(--tx-sans);font-variation-settings:"wdth" 94;font-weight:800;font-size:clamp(21px,2.6vw,31px);letter-spacing:-.038em;color:var(--tx-verde);line-height:1}
#tx-main .tx-stages .tx-km small{display:block;font-family:var(--tx-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx-tenue);margin-top:8px;font-weight:400}
#tx-main .tx-stages h4{font-family:var(--tx-sans);font-weight:700;font-size:17.5px;letter-spacing:-.02em;color:var(--tx-hueso);margin-bottom:8px}
#tx-main .tx-stages p{font-size:15px;line-height:1.62;margin:0}
@media(max-width:640px){.tx-stages>div{grid-template-columns:1fr;gap:9px}}

/* --- Guías verticales de la columna de lectura ------------------------- */
@media(min-width:1020px){
  .tx-article__body{position:relative}
  .tx-article__body::before,.tx-article__body::after{
    content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--tx-linea);
  }
  .tx-article__body::before{left:calc(50% - min(66ch,100% - (var(--tx-gut) * 2)) / 2)}
  .tx-article__body::after{right:calc(50% - min(66ch,100% - (var(--tx-gut) * 2)) / 2)}
}