:root{
  --naranja:#ff8040; --naranja-osc:#d1541b; --tinta:#1c2430; --gris:#5a6472;
  --linea:#e3e7ec; --fondo:#ffffff; --suave:#f7f8fa; --crema:#fff6f0;
  --ancho:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--tinta);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:18px;line-height:1.65}
img{max-width:100%;height:auto}
a{color:var(--naranja-osc);text-decoration:underline;text-underline-offset:2px}
a:hover{color:#a63f0d}
.sr{position:absolute;left:-9999px}
.saltar{position:absolute;left:-9999px;background:#fff;padding:.6em 1em}
.saltar:focus{left:1rem;top:.5rem;z-index:20}

/* cabecera */
.cab{border-bottom:1px solid var(--linea);background:#fff}
.cab-in{max-width:var(--ancho);margin:0 auto;padding:16px 20px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.marca{text-decoration:none;color:inherit;display:flex;flex-direction:column;line-height:1.1}
.marca-legis{font-size:30px;font-weight:800;letter-spacing:.02em;color:var(--naranja-osc)}
.marca-sub{font-size:14px;color:var(--gris);margin-top:3px}
.buscador{margin-left:auto;display:flex;gap:8px;flex:1 1 320px;max-width:520px}
.buscador input{flex:1;padding:12px 14px;font-size:17px;border:2px solid var(--linea);border-radius:8px;font-family:inherit}
.buscador input:focus{outline:none;border-color:var(--naranja)}
.buscador button{padding:12px 18px;font-size:17px;font-weight:600;border:0;border-radius:8px;background:var(--naranja);color:#fff;cursor:pointer}
.buscador button:hover{background:var(--naranja-osc)}
.cab-aviso{margin:0;background:var(--crema);border-top:1px solid #ffd9c4;color:#7a3b17;
  font-size:15px;text-align:center;padding:8px 16px}
.cab-aviso a{color:#7a3b17}

/* menú */
.menu{background:var(--suave);border-bottom:1px solid var(--linea)}
.menu-in{max-width:var(--ancho);margin:0 auto;padding:0 20px;display:flex;gap:4px;flex-wrap:wrap}
.menu a{display:inline-block;padding:12px 14px;font-size:16px;font-weight:600;color:var(--tinta);text-decoration:none;border-bottom:3px solid transparent}
.menu a:hover{border-bottom-color:var(--naranja);color:var(--naranja-osc)}

main{max-width:var(--ancho);margin:0 auto;padding:28px 20px 56px}
h1{font-size:34px;line-height:1.2;margin:.2em 0 .4em}
h2{font-size:25px;margin:1.6em 0 .5em}
h3{font-size:20px;margin:1.4em 0 .4em}
.migas{font-size:15px;color:var(--gris);margin:0 0 14px}
.migas a{color:var(--gris)}

/* home */
.hero{padding:26px 0 6px}
.hero p.lead{font-size:21px;color:var(--gris);max-width:46em;margin:.3em 0 1.2em}
.aviso{border:2px solid var(--naranja);background:var(--crema);border-radius:12px;padding:20px 24px;margin:22px 0 30px}
.aviso h2{margin:0 0 .4em;font-size:22px;color:var(--naranja-osc)}
.aviso p{margin:.5em 0}
.buscador-grande{display:flex;gap:10px;margin:26px 0 10px;flex-wrap:wrap}
.buscador-grande input{flex:1 1 300px;padding:16px;font-size:19px;border:2px solid var(--linea);border-radius:10px;font-family:inherit}
.buscador-grande button{padding:16px 26px;font-size:19px;font-weight:700;border:0;border-radius:10px;background:var(--naranja);color:#fff;cursor:pointer}

.tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;margin:20px 0}
.tarjeta{border:1px solid var(--linea);border-radius:12px;padding:18px 20px;background:#fff;text-decoration:none;color:inherit;display:block}
.tarjeta:hover{border-color:var(--naranja);box-shadow:0 2px 10px rgba(0,0,0,.06)}
.tarjeta h3{margin:0 0 .25em;font-size:20px;color:var(--naranja-osc);text-decoration:underline}
.tarjeta .n{font-weight:700;color:var(--tinta)}
.tarjeta p{margin:.35em 0 0;font-size:16px;color:var(--gris)}

/* listados */
.anios{margin:18px 0;font-size:16px}
.anios a{display:inline-block;margin:0 10px 8px 0;padding:4px 10px;border:1px solid var(--linea);border-radius:20px;text-decoration:none;color:var(--tinta)}
.anios a:hover{border-color:var(--naranja);color:var(--naranja-osc)}
ul.lista{list-style:none;padding:0;margin:0 0 30px}
ul.lista li{padding:12px 0;border-bottom:1px solid var(--linea)}
ul.lista .cod{font-weight:700;white-space:nowrap}
ul.lista .sum{color:var(--gris)}
.grupo-anio{margin-top:34px}
.grupo-anio h2{border-bottom:3px solid var(--naranja);padding-bottom:4px;display:inline-block}

/* artículo */
.art{max-width:44em}
.art .cod{display:inline-block;background:var(--crema);color:var(--naranja-osc);font-weight:700;
  padding:4px 12px;border-radius:20px;font-size:16px;margin-bottom:10px}
.art .cuerpo{font-size:19px}
.art .cuerpo p{margin:0 0 1.05em}
.art .cuerpo table{border-collapse:collapse;width:100%;font-size:16px;margin:1em 0;display:block;overflow-x:auto}
.art .cuerpo td,.art .cuerpo th{border:1px solid var(--linea);padding:.4em .6em}
.art .cuerpo img{border:1px solid var(--linea);border-radius:6px;margin:1em 0}
.nota-pie{margin-top:40px;padding:14px 18px;background:var(--suave);border-left:4px solid var(--naranja);
  font-size:16px;color:var(--gris);border-radius:0 8px 8px 0}

/* buscador js */
#resultados li{padding:14px 0;border-bottom:1px solid var(--linea)}
.resumen{color:var(--gris);font-size:16px}
mark{background:#ffe6d5;color:inherit}

/* pie */
.pie{border-top:1px solid var(--linea);background:var(--suave);margin-top:40px}
.pie-in{max-width:var(--ancho);margin:0 auto;padding:26px 20px 40px;font-size:16px;color:var(--gris)}
.pie-in p{margin:.5em 0}
.pie-marca{font-size:17px;color:var(--tinta)}
.pie-legal{font-size:15px}

@media (max-width:600px){
  body{font-size:17px}
  h1{font-size:27px}
  .marca-legis{font-size:25px}
  main{padding:20px 16px 40px}
}

p.lead,.lead{font-size:21px;color:var(--gris);max-width:46em;margin:.3em 0 1.2em}
.art .lead{color:var(--tinta);font-weight:500}
