  :root{
    --tinta:#16181D; --naranja:#F5821F; --naranja-suave:#FDF1E5;
    --gris:#8A9099; --gris-osc:#5B6068;
    --hueso:#FAFAF8; --papel:#FFFFFF; --linea:#E6E6E2;
    --rojo:#C0392B; --rojo-suave:#FBEFED; --ambar:#B4590A;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter',sans-serif;color:var(--tinta);background:var(--hueso);line-height:1.65;font-size:16px;}
  .doc{max-width:860px;margin:0 auto;background:var(--papel);box-shadow:0 0 40px rgba(22,24,29,.07);}

  /* PORTADA (blanca, estilo web) */
  .portada{background:var(--papel);color:var(--tinta);padding:64px 56px 56px;position:relative;overflow:hidden;}
  .portada::after{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;border-radius:50%;border:1px solid var(--linea);}
  .portada::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;border:1px solid rgba(245,130,31,.4);}
  .codigo{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;color:var(--naranja);display:flex;gap:18px;flex-wrap:wrap;margin-bottom:36px;}
  .portada h1{font-family:'Sora',sans-serif;font-weight:800;font-size:40px;line-height:1.15;max-width:620px;margin-bottom:18px;color:var(--tinta);}
  .portada .sub{font-size:18px;color:var(--gris-osc);max-width:560px;margin-bottom:40px;}
  .portada .firma{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--linea);padding-top:22px;flex-wrap:wrap;gap:12px;}
  .marca img{display:block;height:42px;width:auto;}
  .meta{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--gris);line-height:1.8;text-align:right;}

  /* ADVERTENCIA */
  .aviso{background:var(--naranja-suave);border-left:4px solid var(--naranja);padding:26px 56px 26px 52px;}
  .aviso .titulo-aviso{font-family:'Sora',sans-serif;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ambar);margin-bottom:10px;}
  .aviso p{font-size:13.5px;color:#6B4A20;margin-bottom:8px;}
  .aviso p:last-child{margin-bottom:0;}
  .aviso .pendiente{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ambar);margin-top:10px;display:block;}

  /* ÍNDICE */
  .indice{padding:48px 56px;border-bottom:1px solid var(--linea);}
  .indice h2{font-family:'Sora',sans-serif;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);margin-bottom:22px;}
  .indice ol{list-style:none;counter-reset:cap;}
  .indice li{counter-increment:cap;display:flex;align-items:baseline;gap:14px;padding:9px 0;border-bottom:1px dashed var(--linea);}
  .indice li::before{content:counter(cap,decimal-leading-zero);font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--naranja);font-weight:600;}
  .indice a{color:var(--tinta);text-decoration:none;font-weight:500;font-size:15px;}
  .indice a:hover{color:var(--naranja);}

  /* CAPÍTULOS */
  .cap{padding:56px 56px 8px;}
  .cap-num{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;color:var(--naranja);margin-bottom:10px;display:block;}
  .cap h2{font-family:'Sora',sans-serif;font-weight:700;font-size:27px;line-height:1.25;color:var(--tinta);margin-bottom:8px;}
  .enfrase{font-family:'Sora',sans-serif;font-size:16px;font-weight:600;color:var(--tinta);border-left:3px solid var(--naranja);padding:6px 0 6px 16px;margin:18px 0 26px;background:linear-gradient(90deg,var(--naranja-suave),transparent 80%);}
  .cap p{margin-bottom:16px;color:var(--tinta);}
  .cap p b{color:var(--tinta);font-weight:600;}
  .cap ul{margin:0 0 18px 20px;}
  .cap ul li{margin-bottom:10px;}

  .cuadro{background:var(--hueso);border:1px solid var(--linea);border-radius:10px;padding:22px 24px;margin:24px 0;}
  .cuadro .cuadro-t{font-family:'Sora',sans-serif;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--naranja);margin-bottom:10px;}
  .cuadro p{font-size:14.5px;margin-bottom:10px;}
  .cuadro p:last-child{margin-bottom:0;}
  .cuadro.riesgo{background:var(--rojo-suave);border-color:#EBCCC7;}
  .cuadro.riesgo .cuadro-t{color:var(--rojo);}

  .ejemplo{border:1px dashed var(--naranja);border-radius:10px;padding:22px 24px;margin:24px 0;background:var(--papel);}
  .ejemplo .cuadro-t{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;color:var(--naranja);margin-bottom:10px;}
  .ejemplo p{font-size:14.5px;}

  table{width:100%;border-collapse:collapse;margin:22px 0;font-size:14px;}
  th{background:var(--tinta);color:#fff;font-family:'Sora',sans-serif;font-weight:600;font-size:12.5px;text-align:left;padding:11px 14px;letter-spacing:.03em;}
  td{padding:11px 14px;border-bottom:1px solid var(--linea);vertical-align:top;}
  tr:nth-child(even) td{background:var(--hueso);}

  .divisor{height:1px;background:var(--linea);margin:48px 56px 0;}

  /* FAQ */
  .faq-item{margin-bottom:22px;}
  .faq-item .q{font-family:'Sora',sans-serif;font-weight:600;font-size:15.5px;color:var(--tinta);margin-bottom:6px;}
  .faq-item .a{font-size:15px;color:var(--gris-osc);}

  /* GLOSARIO */
  dl{margin:10px 0 20px;}
  dt{font-family:'Sora',sans-serif;font-weight:600;font-size:15px;color:var(--tinta);margin-top:16px;}
  dd{margin-left:0;font-size:14.5px;color:var(--gris-osc);}

  /* CIERRE (claro, estilo web) */
  .cierre{background:var(--papel);color:var(--tinta);padding:52px 56px;margin-top:56px;position:relative;border-top:1px solid var(--linea);}
  .cierre::before{content:"";position:absolute;left:0;top:0;right:0;height:8px;background:linear-gradient(90deg,var(--naranja),rgba(245,130,31,.15));}
  .cierre h2{font-family:'Sora',sans-serif;font-size:24px;font-weight:700;margin-bottom:14px;color:var(--tinta);}
  .cierre p{color:var(--gris-osc);margin-bottom:14px;max-width:600px;}
  .cierre .pasos{margin:22px 0 26px;}
  .cierre .paso{display:flex;gap:16px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--linea);}
  .cierre .paso .n{font-family:'IBM Plex Mono',monospace;color:var(--naranja);font-size:13px;font-weight:600;min-width:22px;}
  .cierre .paso .t{color:var(--tinta);font-size:15px;}
  .boton{display:inline-block;background:var(--naranja);color:#fff;font-family:'Sora',sans-serif;font-weight:700;font-size:15px;padding:14px 30px;border-radius:8px;text-decoration:none;box-shadow:0 8px 22px rgba(245,130,31,.3);}
  .enlace-web{display:inline-block;margin-left:16px;font-family:'Sora',sans-serif;font-weight:600;font-size:14px;color:var(--tinta);text-decoration:none;border:1.5px solid var(--tinta);padding:13px 24px;border-radius:8px;}
  .cierre .nota-boton{font-size:12.5px;color:var(--gris);margin-top:12px;}

  .pie{padding:26px 56px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--gris);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid var(--linea);background:var(--hueso);}
  .pie a{color:var(--gris-osc);text-decoration:none;}

  .lang-switch{display:flex;align-items:center;gap:2px;border:1.5px solid var(--linea);border-radius:7px;padding:2px;background:var(--papel);flex-shrink:0;}
  /* Oculto temporalmente hasta terminar la web (ver js/i18n/i18n-core.js) */
  .lang-switch{display:none!important;}
  .lang-btn{font-family:'Sora',sans-serif;font-weight:600;font-size:12px;letter-spacing:.03em;padding:6px 11px;border-radius:5px;border:none;background:transparent;color:var(--gris-osc);cursor:pointer;transition:background .15s,color .15s;}
  .lang-btn:hover:not(.is-active){color:var(--tinta);}
  .lang-btn.is-active{background:var(--tinta);color:#fff;}
  .codigo .lang-switch{border-color:rgba(245,130,31,.35);padding:1px;background:transparent;}
  .codigo .lang-btn{font-family:'IBM Plex Mono',monospace;font-size:11px;padding:3px 8px;color:var(--naranja);}
  .codigo .lang-btn.is-active{background:var(--naranja);color:#fff;}
  .codigo .lang-btn:hover:not(.is-active){color:var(--tinta);}
  .pie .lang-switch{border-color:var(--linea);padding:1px;background:var(--papel);}
  .pie .lang-btn{font-family:'IBM Plex Mono',monospace;font-size:11px;padding:3px 8px;color:var(--gris-osc);}
  .pie .lang-btn.is-active{background:var(--tinta);color:#fff;}

  @media (max-width:700px){
    .portada,.aviso,.indice,.cap,.cierre,.pie{padding-left:24px;padding-right:24px;}
    .portada h1{font-size:30px;}
    .divisor{margin-left:24px;margin-right:24px;}
  }
  @media print{body{background:#fff;}.doc{box-shadow:none;}.lang-switch{display:none;}}
