/* Piel "Corte duro" para el markup heredado de las páginas legales.
   Regla: el <main> de estas páginas no se edita; todo el estilo vive aquí. */
.doc-page .doc-hero{padding:var(--s7) var(--gutter) var(--s6);background:var(--ko-bg);border-bottom:4px solid var(--accent)}
.doc-page .doc-hero-inner,.doc-page .case-body-inner,.doc-page .doc-toc-inner,.doc-page .contact-inner{max-width:1100px;margin:0 auto}
.doc-page .doc-hero-inner{display:flex;flex-direction:column;gap:var(--s4)}
.doc-page .case-crumbs{font-size:var(--fs-sm);color:var(--ink-2)}
.doc-page .case-crumbs a{text-decoration:none;transition:color .2s}
.doc-page .case-crumbs a:hover{color:var(--accent)}
.doc-page .doc-title{margin:0;font:900 clamp(64px,12vw,160px)/.8 var(--font-display);text-transform:uppercase;letter-spacing:-.01em}
.doc-page .doc-title em{font-style:normal;color:var(--accent)}
.doc-page .doc-lead{margin:0;max-width:60ch;font-size:var(--fs-lead);color:var(--ink-2)}
.doc-page .case-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s3) var(--s5);margin:var(--s3) 0 0;font-size:var(--fs-sm)}
.doc-page .case-meta dt{color:var(--ink-2)}
.doc-page .case-meta dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.doc-page .doc-toc{padding:var(--s6) var(--gutter) 0}
.doc-page .doc-toc-title{margin:0 0 var(--s2);font-size:var(--fs-sm);font-weight:600;color:var(--accent)}
.doc-page .doc-toc ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 var(--s5);margin:0;padding:0;list-style:none}
.doc-page .doc-toc a{display:flex;align-items:baseline;gap:var(--s3);min-height:44px;padding:10px 0;border-bottom:1px solid var(--line);color:var(--ink-2);text-decoration:none;transition:color .2s}
.doc-page .doc-toc a span{min-width:24px;font-weight:600;color:var(--accent)}
.doc-page .doc-toc a:hover{color:var(--ink)}
.doc-page .case-body{padding:var(--s6) var(--gutter) var(--s7)}
.doc-page .case-section{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s3) var(--s6);padding:var(--s6) 0;border-top:1px solid var(--line)}
.doc-page .case-section-label{margin:0;padding-top:.3em;font:600 var(--fs-sm)/1.4 var(--font-body);color:var(--accent)}
.doc-page .case-section-body{max-width:68ch}
.doc-page .case-section-body.is-wide{max-width:none}
.doc-page .case-section-body h3{margin:var(--s5) 0 var(--s2);font:600 var(--fs-lead)/1.3 var(--font-body)}
.doc-page .case-section-body h3:first-child{margin-top:0}
.doc-page .case-section-body ul,.doc-page .case-section-body ol{margin:0 0 1em;padding-left:1.2em}
.doc-page .case-section-body li{margin-bottom:.4em}
.doc-page .case-section-body li::marker{color:var(--accent)}
.doc-page .case-section-body a{color:var(--ink);text-decoration-color:var(--accent);text-underline-offset:3px;transition:color .2s}
.doc-page .case-section-body a:hover{color:var(--accent)}
.doc-page strong{font-weight:600;color:var(--ink)}
.doc-page .philo-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s5)}
.doc-page .philo-head{margin:0 0 var(--s2);font:900 clamp(32px,3.5vw,48px)/.9 var(--font-display);text-transform:uppercase}
.doc-page .philo-body{margin:0;color:var(--ink-2)}
.doc-page .doc-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s3);margin:0 0 var(--s4)}
.doc-page .doc-facts div{padding:var(--s3);border:1px solid var(--line)}
.doc-page .doc-facts dt{font-size:var(--fs-sm);color:var(--ink-2)}
.doc-page .doc-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.doc-page .doc-plazos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s3)}
.doc-page .doc-plazo{padding:var(--s4);border:1px solid var(--line)}
.doc-page .doc-plazo-num{display:block;font:900 clamp(56px,6vw,88px)/.85 var(--font-display);text-transform:uppercase}
.doc-page .doc-plazo-num small{display:block;margin-top:var(--s2);font:500 var(--fs-sm)/1.4 var(--font-body);text-transform:none;color:var(--ink-2)}
.doc-page .doc-plazo-label{display:block;margin:var(--s3) 0 var(--s2);font-weight:600;color:var(--accent)}
.doc-page .doc-plazo p{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}
.doc-page .doc-note{padding:var(--s2) var(--s3);border-left:4px solid var(--accent);background:#141414;color:var(--ink)}
.doc-page .contact{padding:var(--s7) var(--gutter);background:var(--ko-bg);border-top:4px solid var(--accent)}
.doc-page .contact-head{margin:0 0 var(--s4);font:900 clamp(48px,8vw,120px)/.85 var(--font-display);text-transform:uppercase}
.doc-page .contact-head em{font-style:normal;color:var(--accent)}
.doc-page .contact-sub{max-width:52ch;font-size:var(--fs-lead);color:var(--ink-2)}
.doc-page .contact-actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s4)}
.doc-page .btn.primary{background:var(--accent);color:var(--bg)}
.doc-page .btn.primary:hover{transform:translateY(-2px)}
.doc-page .btn.ghost{border-color:var(--line);color:var(--ink)}
.doc-page .btn.ghost:hover{border-color:var(--accent)}
.doc-page .btn .arrow{display:inline-block;transition:transform .2s var(--ease)}
.doc-page .btn:hover .arrow{transform:translateX(4px)}
@media (max-width:860px){.doc-page .case-section{grid-template-columns:1fr}}
