/* Plantilla de artículo. Reutiliza style.css y el bloque dividido de caso.css. */

.art-hero{padding:clamp(40px,6vw,88px) 0 0}
.art-hero h1{font-size:clamp(42px,7.8vw,130px);font-weight:700;letter-spacing:-0.045em;line-height:.92;max-width:14em}
.art-cat{display:inline-block;background:var(--accent);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;margin-bottom:28px}

/* sticky aside: index + author */
.toc{list-style:none;border-top:1px solid var(--ink)}
.toc a{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:500;color:var(--mute);transition:color .2s,padding-left .2s}
.toc a span{font-family:var(--font-head);font-weight:600;font-size:13px;padding-top:2px}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--ink);font-weight:700;padding-left:8px}
.toc-title{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.author{display:flex;align-items:center;gap:14px;margin-top:32px}
.author img{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:68% 15%}
.author strong{display:block;font-family:var(--font-head)}
.author span{font-size:14px;color:var(--mute)}
.progress{height:3px;background:var(--line);margin-top:28px}
.progress i{display:block;height:100%;width:0;background:var(--ink)}

/* article body */
.art{max-width:760px}
.art > *+*{margin-top:22px}
.art p{font-size:clamp(17px,1.3vw,20px);line-height:1.7;color:#3a3a40}
.art h2{font-size:clamp(30px,3.6vw,52px);margin-top:clamp(56px,7vw,96px);scroll-margin-top:110px}
.art h3{font-size:clamp(20px,1.8vw,26px);margin-top:36px}
.art strong{color:var(--ink)}
.art ul.list,.art ol.list{padding-left:1.2em;display:grid;gap:10px;font-size:clamp(17px,1.3vw,20px);color:#3a3a40;line-height:1.6}
.art .lead{font-family:var(--font-head);font-weight:600;font-size:clamp(24px,2.4vw,34px);letter-spacing:-0.02em;line-height:1.2;color:var(--ink)}

.essentials{background:var(--soft);padding:28px 30px;border-left:4px solid var(--ink)}
.essentials b{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.essentials ul{padding-left:1.1em;display:grid;gap:8px}
.essentials li{font-size:17px;color:var(--ink)}

.formula{background:var(--ink);color:var(--paper);padding:28px 32px;font-family:var(--font-head);font-weight:600;font-size:clamp(20px,2.2vw,30px);letter-spacing:-0.02em;line-height:1.35}
.formula small{display:block;font-family:var(--font-body);font-weight:500;font-size:14px;letter-spacing:0;color:#c9c9c9;margin-top:10px}

.callout{border:1px solid var(--ink);padding:24px 28px}
.callout b{display:block;margin-bottom:6px;font-family:var(--font-head);font-size:18px}
.callout p{margin:0;font-size:17px}

/* table */
.tbl-wrap{overflow-x:auto;border-top:1px solid var(--ink)}
table{width:100%;border-collapse:collapse;font-size:15px;min-width:620px}
th,td{padding:14px 12px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
th:first-child,td:first-child{text-align:left;white-space:normal}
th{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);font-weight:700}
tr.hl td{background:var(--accent);font-weight:700}
td.good{font-weight:700}

/* calculator */
.calc{background:var(--soft);padding:clamp(24px,3vw,40px)}
.calc h3{margin:0 0 6px}
.calc .sub{font-size:15px;color:var(--mute);margin-bottom:22px}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.calc label{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.calc input{width:100%;font:inherit;font-size:18px;font-weight:600;padding:13px 14px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0}
.calc input:focus{outline:2px solid var(--accent);outline-offset:0}
.calc-out{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:24px}
.calc-out div{background:var(--paper);padding:18px 20px}
.calc-out small{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.calc-out strong{font-family:var(--font-head);font-size:clamp(24px,2.6vw,36px);letter-spacing:-0.03em}
.calc-out .wide{grid-column:1/-1;background:var(--ink);color:var(--paper)}
.calc-out .wide small{color:#c9c9c9}
.calc-out .wide strong{color:var(--paper)}
.calc-msg{margin-top:14px;font-size:15px;color:var(--ink);min-height:1.5em}
.disc{font-size:14px !important;color:var(--mute) !important}

@media (max-width:980px){
  .calc-grid,.calc-out{grid-template-columns:1fr}
}
