:root{--tinta:#1d2430;--suave:#5a6472;--linea:#e4e8ef;--fondo:#f7f9fc;--papel:#fff;--marca:#1f6f8b;--marca2:#14506b;--ok:#1f9d55}
*{box-sizing:border-box}
body{margin:0;background:var(--fondo);color:var(--tinta);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--marca)}
.barra{background:var(--papel);border-bottom:1px solid var(--linea)}
.barra div{max-width:980px;margin:0 auto;padding:14px 18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.barra a.marca{font-weight:800;text-decoration:none;color:var(--tinta);font-size:1.05rem}
.barra nav a{margin-left:14px;text-decoration:none;font-size:.95rem}
.tapa{background:linear-gradient(135deg,var(--marca),var(--marca2));color:#fff;padding:46px 18px 40px;text-align:center}
.tapa h1{margin:0 0 10px;font-size:1.9rem;line-height:1.25}
.tapa p{margin:0 auto;max-width:640px;opacity:.95}
main{max-width:980px;margin:0 auto;padding:28px 18px 64px}
h2{font-size:1.35rem;margin:34px 0 14px}
h3{font-size:1.05rem;margin:22px 0 10px;color:var(--suave);text-transform:uppercase;letter-spacing:.05em}
.migas{font-size:.9rem;color:var(--suave);margin:0 0 14px}
.migas a{color:var(--suave)}
.grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.tarjeta{display:flex;flex-direction:column;background:var(--papel);border:1px solid var(--linea);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.tarjeta:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(20,40,70,.1)}
.tarjeta img{width:100%;height:150px;object-fit:cover;background:var(--linea)}
.tarjeta .cuerpo{padding:16px 16px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.tarjeta .nom{font-weight:700;font-size:1.08rem}
.tarjeta .meta{color:var(--suave);font-size:.9rem}
.tarjeta .txt{font-size:.95rem;margin:0}
.tarjeta .ver{margin-top:auto;color:var(--marca);font-weight:600;font-size:.95rem}
.fichas{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0 0 10px}
.fichas a{display:inline-block;background:var(--papel);border:1px solid var(--linea);border-radius:999px;padding:8px 16px;text-decoration:none;font-size:.95rem}
.ficha{background:var(--papel);border:1px solid var(--linea);border-radius:18px;padding:26px 22px}
.ficha h1{margin:0 0 8px;font-size:1.7rem}
.etiquetas{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.etiquetas span{background:var(--fondo);border:1px solid var(--linea);border-radius:999px;padding:5px 13px;font-size:.88rem;color:var(--suave)}
.ficha img.foto{width:100%;max-height:380px;object-fit:cover;border-radius:14px;margin:4px 0 18px}
.ficha ul.detalle{padding-left:20px;margin:0 0 18px}
.botones{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.botones a{display:inline-block;border-radius:12px;padding:13px 22px;text-decoration:none;font-weight:700}
.botones a.primario{background:var(--marca);color:#fff}
.botones a.wa{background:var(--ok);color:#fff}
.oficios{background:var(--papel);border:1px solid var(--linea);border-radius:16px;padding:18px 20px;margin-top:22px}
.oficios ul{margin:8px 0 0;padding-left:20px}
.cierre{margin-top:40px;background:var(--papel);border:1px solid var(--linea);border-radius:18px;padding:24px;text-align:center}
.cierre a{display:inline-block;margin-top:12px;background:var(--marca);color:#fff;text-decoration:none;border-radius:12px;padding:12px 22px;font-weight:700}
footer{border-top:1px solid var(--linea);background:var(--papel);color:var(--suave);font-size:.9rem}
footer div{max-width:980px;margin:0 auto;padding:22px 18px}
@media(max-width:560px){.tapa h1{font-size:1.5rem}main{padding:22px 14px 50px}.ficha{padding:20px 16px}}