/* Styling for database-rendered Insights cards, section filters, and pagination. */
.ins-filter{display:flex;gap:.65rem;flex-wrap:wrap;margin:0 0 1.75rem}
.ins-filter a,.ins-pages a,.ins-pages span{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.55rem .9rem;border:1px solid #d9e1eb;border-radius:999px;color:#243044;text-decoration:none;background:#fff}
.ins-filter a.active,.ins-pages span.active{background:#173f78;border-color:#173f78;color:#fff}
.ins-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.ins-card{overflow:hidden;border:1px solid #e5eaf0;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(26,45,72,.06)}
.ins-card-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#eef2f7}
.ins-card-image img,.ins-article-image{width:100%;height:100%;object-fit:cover;display:block}
.ins-image-placeholder{width:100%;height:100%;min-height:180px;background:linear-gradient(135deg,#edf2f8,#dfe8f3)}
.ins-card-content{padding:1.25rem}
.ins-card-category{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#245a9b}
.ins-card-date{margin:.45rem 0;color:#68768a;font-size:.88rem}
.ins-card h2{margin:.35rem 0 .65rem;font-size:1.2rem;line-height:1.4}
.ins-card h2 a{color:#17243a;text-decoration:none}
.ins-card-excerpt{color:#526176;line-height:1.65}
.ins-card-link,.ins-back{display:inline-block;margin-top:.5rem;color:#174f91;font-weight:700;text-decoration:none}
.ins-pages{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap;margin:2rem 0 3rem}
.ins-empty{grid-column:1/-1;padding:2rem;text-align:center;color:#68768a}
.ins-article{max-width:900px;padding-top:2rem;padding-bottom:4rem}
.ins-article-header{margin:1.5rem 0}
.ins-article-header h1{font-size:clamp(2rem,5vw,3rem);line-height:1.15;color:#17243a}
.ins-article-image{height:auto;max-height:520px;border-radius:14px;margin:1.5rem 0;object-fit:cover}
.ins-article-body{color:#263449;font-size:1.05rem;line-height:1.8;overflow-wrap:anywhere}
.ins-article-body img,.ins-article-body iframe{max-width:100%}
@media(max-width:900px){.ins-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ins-grid{grid-template-columns:1fr}.ins-card-content{padding:1rem}.ins-article-body{font-size:1rem}}
