/* nosceipsum.app — hoja de estilos única. Tipografías del sistema, sin CDN. */
:root{
  --papel:#faf9f6; --papel-alt:#f4f2ee; --blanco:#ffffff;
  --tinta:#1c1a17; --texto:#3c3831; --apagado:#6b655c; --tenue:#8a8377;
  --filete:#d8d4cb; --filete-fino:#e6e2d9; --subrayado:#c4bdb0;
  --acento:#7a3d12;
  --serif:Georgia,"Iowan Old Style","Times New Roman",Times,serif;
  --sans:system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --medida:34rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--papel);color:var(--tinta);
  font-family:var(--serif);font-size:1.0625rem;line-height:1.65;
}
img{max-width:100%;height:auto}
a{color:var(--tinta);text-decoration:underline;text-decoration-color:var(--subrayado);text-underline-offset:3px}
a:hover{text-decoration-color:var(--tinta)}
:focus-visible{outline:2px solid var(--acento);outline-offset:2px}
.salto{position:absolute;left:-9999px;top:0}
.salto:focus{left:0;z-index:10;background:var(--tinta);color:var(--papel);padding:.6rem 1rem;text-decoration:none}

.limite{max-width:62rem;margin:0 auto;padding:0 clamp(1.25rem,5vw,4rem)}
.medida{max-width:var(--medida)}

/* Cabecera */
.cabecera{border-bottom:1px solid var(--filete)}
.cabecera .limite{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:baseline;justify-content:space-between;padding-top:1.5rem;padding-bottom:1.5rem}
.marca{font-family:var(--mono);font-size:.95rem;letter-spacing:-.01em;text-decoration:none}
.marca span{color:var(--tenue)}
.menu{display:flex;flex-wrap:wrap;gap:1.25rem;font-family:var(--sans);font-size:.875rem}
.menu a{text-decoration:none;color:var(--texto)}
.menu a:hover{text-decoration:underline;text-underline-offset:3px}
.menu a[aria-current="page"]{color:var(--tinta);text-decoration:underline;text-decoration-color:var(--subrayado);text-underline-offset:3px}
.menu .idioma{color:var(--tenue)}

/* Bloques */
.bloque{border-bottom:1px solid var(--filete)}
.bloque .limite{padding-top:clamp(2.5rem,6vw,3.5rem);padding-bottom:clamp(2.5rem,6vw,3.5rem)}
.portada .limite{padding-top:clamp(3rem,9vw,5.5rem);padding-bottom:clamp(2.5rem,7vw,4.5rem)}

.antetitulo{margin:0 0 1.25rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tenue)}
h1{margin:0 0 1.5rem;font-size:clamp(1.85rem,5.2vw,2.85rem);line-height:1.15;font-weight:400;letter-spacing:-.015em;text-wrap:pretty}
.entradilla{font-size:clamp(1.05rem,2.6vw,1.2rem);line-height:1.65;color:var(--texto);text-wrap:pretty}
h2{margin:0;font-family:var(--mono);font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta)}
.titulo-bloque{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:baseline;justify-content:space-between;margin-bottom:2rem}
.titulo-bloque .nota{font-family:var(--sans);font-size:.8125rem;color:var(--tenue)}
p{text-wrap:pretty}

/* Fichas de aplicaciones */
.apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1.25rem}
.app{background:var(--blanco);border:1px solid var(--filete);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;margin:0}
.app-cabeza{display:flex;gap:1rem;align-items:flex-start}
.app-icono{width:2.75rem;height:2.75rem;flex:none;border:1px solid var(--filete);background:var(--papel-alt);display:grid;place-items:center;font-family:var(--mono);font-size:.65rem;color:var(--tenue)}
.app h3{margin:0 0 .25rem;font-size:1.25rem;font-weight:400;line-height:1.25}
.estado{margin:0;font-family:var(--sans);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--acento)}
.app p{margin:0;font-size:1rem;line-height:1.6;color:var(--texto);flex:1}
.app-enlaces{display:flex;flex-wrap:wrap;gap:1.25rem;font-family:var(--sans);font-size:.875rem}
.vacio{grid-column:1/-1;background:var(--papel-alt);border:1px solid var(--filete);padding:1.5rem;display:flex;align-items:center;margin:0;max-width:40rem}
.vacio p{margin:0;font-family:var(--sans);font-size:.9375rem;line-height:1.6;color:var(--apagado)}

/* Contacto en portada */
.dos{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width:48rem){.dos{grid-template-columns:1.15fr .85fr;gap:3rem}}
.correo{margin:0;font-size:clamp(1.15rem,3vw,1.3rem)}
.lista-datos{font-family:var(--sans);font-size:.875rem;line-height:1.75;color:var(--texto)}
.lista-datos dt{color:var(--tenue)}
.lista-datos dd{margin:0 0 .75rem}

/* Documentos legales */
.doc .limite{padding-top:clamp(2.5rem,7vw,4rem);padding-bottom:clamp(3rem,8vw,4.5rem)}
.doc-cuerpo{max-width:40rem}
.doc-cuerpo h2{margin:2.75rem 0 .75rem;font-family:var(--serif);font-size:1.3rem;font-weight:400;letter-spacing:normal;text-transform:none;line-height:1.3}
.doc-cuerpo h3{margin:1.75rem 0 .5rem;font-family:var(--sans);font-size:.95rem;font-weight:600}
.doc-cuerpo p,.doc-cuerpo li{color:var(--texto)}
.doc-cuerpo p{margin:0 0 1rem}
.doc-cuerpo ul,.doc-cuerpo ol{margin:0 0 1rem;padding-left:1.25rem}
.doc-cuerpo li{margin-bottom:.5rem}
.fecha{font-family:var(--sans);font-size:.8125rem;color:var(--tenue)}
.tabla{width:100%;border-collapse:collapse;margin:0 0 1.5rem;font-family:var(--sans);font-size:.9375rem}
.tabla th,.tabla td{border:1px solid var(--filete);padding:.6rem .75rem;text-align:left;vertical-align:top;color:var(--texto)}
.tabla th{background:var(--papel-alt);font-weight:600;color:var(--tinta)}
.aparte{border:1px solid var(--filete);background:var(--papel-alt);padding:1.25rem 1.25rem .25rem;margin:0 0 1.5rem}
.aparte p:last-child{margin-bottom:1rem}
.indice{font-family:var(--sans);font-size:.9375rem;border-left:1px solid var(--filete);padding-left:1.25rem;margin:0 0 2.5rem}
.indice ol{margin:0;padding-left:1.25rem}
.indice li{margin-bottom:.35rem}

/* Datos del titular: presentes y accesibles, sin protagonismo visual */
.titular{font-family:var(--sans);font-size:.9375rem;line-height:1.8;color:var(--texto)}
.titular summary{cursor:pointer;font-size:.875rem;color:var(--apagado)}
.titular summary:hover{color:var(--tinta)}
.titular dl{margin:1rem 0 0;display:grid;grid-template-columns:1fr;gap:.15rem .75rem}
@media (min-width:34rem){.titular dl{grid-template-columns:9rem 1fr}}
.titular dt{color:var(--tenue)}
.titular dd{margin:0 0 .6rem}

/* Pie */
.pie{border-top:0}
.pie .limite{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;padding-top:1.5rem;padding-bottom:2.5rem;font-family:var(--sans);font-size:.8125rem;color:var(--apagado)}
.pie nav{display:flex;flex-wrap:wrap;gap:1.25rem}
.pie a{color:var(--texto);text-decoration:none}
.pie a:hover{text-decoration:underline;text-underline-offset:3px}

@media print{
  body{background:#fff}
  .cabecera,.pie,.salto{display:none}
  a{text-decoration:none;color:#000}
}
