/* Blog topic hub (/blog/category/<topic>): photo banner, search and topic row, card grid, sign-up band. */
.th-page { background:#F4F5F9; color:#042238; font-family:"Open Sans", system-ui, sans-serif; }
.th-wrap { max-width:1240px; margin:0 auto; padding:28px 32px 0; }
body #main-content .th-page :is(h1, h2, h3, .th-eyebrow) { font-family:Poppins, "Open Sans", sans-serif !important; }
.th-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.th-hero { min-height:320px; border-radius:4px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:40px 24px; color:#fff;
  background:linear-gradient(rgba(42,27,110,.72), rgba(42,27,110,.72)), var(--th-hero, none) center / cover no-repeat, #2A1B6E; }
.th-eyebrow { margin:0 0 10px; font:700 14px/1.3 Poppins, sans-serif; letter-spacing:.08em; text-transform:uppercase; color:#D1F48C; }
.th-hero h1 { margin:0; font:700 44px/1.15 Poppins, sans-serif; color:#fff; }
.th-sub { margin:12px 0 0; font-size:17px; color:#fff; }

.th-browse { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:24px 0 0; }
.th-browse > * { min-width:0; max-width:100%; }
.th-search { display:flex; width:320px; height:40px; border:1px solid #CBD2E0; border-radius:4px; background:#fff; overflow:hidden; }
.th-search:hover { border-color:#6B48E0; }
.th-search:focus-within { border-color:#6B48E0; outline:2px solid #6B48E0; outline-offset:1px; }
.th-search input { flex:1; min-width:0; height:100%; margin:0; border:0 !important; border-radius:0; box-shadow:none !important; background-color:transparent !important; padding:0 12px; font:16px "Open Sans", sans-serif; color:#042238; background:transparent; outline:none; }
.th-search-btn { width:44px; border:0; background:transparent; color:#042238; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.th-search-btn:hover, .th-search-btn:focus-visible { color:#6B48E0; }
.th-chips { display:flex; flex-wrap:wrap; gap:8px; }
.th-chips a { min-height:36px; display:inline-flex; align-items:center; padding:0 14px; border-radius:18px; background:#fff; border:1px solid #CBD2E0; color:#042238; font-size:14px; text-decoration:none; }
.th-chips a:hover, .th-chips a:focus-visible { border-color:#6B48E0; color:#6B48E0; }
.th-chips a[aria-current] { background:#D1F48C; border-color:#D1F48C; color:#1B1C1A; font-weight:600; }

.th-head { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 16px; margin:40px 0 24px; }
.th-head h2 { margin:0; font:600 30px/1.25 Poppins, sans-serif; color:#042238; }
.th-head p { margin:0; font-size:14px; }
.th-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:48px 40px; }
.th-card { position:relative; }
.th-media { position:relative; display:block; aspect-ratio:16 / 9; border-radius:4px; overflow:hidden; box-shadow:0 2px 8px rgba(4,34,56,.12); background:#E2E6EF; }
.th-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.th-card:hover .th-media img { transform:scale(1.03); }
.th-read { display:flex; align-items:center; gap:6px; margin:16px 0 8px; font:600 14px "Open Sans", sans-serif; text-transform:uppercase; letter-spacing:.03em; color:#042238; }
.th-card h3 { margin:0 0 10px; font:700 22px/1.3 Poppins, sans-serif; }
.th-card h3 a { color:#042238; text-decoration:none; }
.th-card h3 a:hover, .th-card h3 a:focus-visible { color:#6B48E0; text-decoration:underline; }
.th-text { margin:0; font-size:16px; line-height:1.55; color:#33475B; }
.th-empty { padding:32px 0; }
.th-empty h3 { margin:0 0 8px; font:600 20px Poppins, sans-serif; }

.th-pager { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:48px 0 0; }
.th-pager a { min-width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; padding:0 12px; border-radius:4px; border:1px solid #CBD2E0; background:#fff; color:#042238; font-weight:600; text-decoration:none; }
.th-pager a:hover, .th-pager a:focus-visible { border-color:#6B48E0; color:#6B48E0; }
.th-pager a[aria-current] { background:#6B48E0; border-color:#6B48E0; color:#fff; }

.th-cta { text-align:center; padding:72px 16px 80px; }
.th-cta h2 { margin:0 auto; max-width:720px; font:700 34px/1.25 Poppins, sans-serif; color:#042238; }
.th-key { color:#6B48E0; }
.th-cta p { margin:14px 0 24px; font-size:17px; }

@media (max-width:900px) { .th-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:40px 24px; } }
@media (max-width:640px) {
  .th-wrap { padding:16px 16px 0; }
  .th-hero { min-height:200px; padding:28px 16px; }
  .th-hero h1 { font-size:32px; }
  .th-sub { font-size:15px; }
  .th-browse { flex-direction:column; align-items:stretch; }
  .th-search { width:100%; height:44px; }
  .th-chips { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; padding-bottom:2px; }
  .th-chips a { flex:none; min-height:44px; }
  .th-head { margin:28px 0 16px; }
  .th-head h2 { font-size:24px; }
  .th-grid { grid-template-columns:1fr; gap:32px; }
  .th-card h3 { font-size:20px; }
  .th-pager a { min-width:44px; height:44px; }
  .th-cta { padding:48px 0 56px; }
  .th-cta h2 { font-size:26px; }
}
@media (prefers-reduced-motion:reduce) { .th-media img { transition:none; } .th-card:hover .th-media img { transform:none; } }
.th-page svg { width:auto; flex:none; }
.th-search-btn svg { width:20px; height:20px; }
.th-read svg { width:18px; height:18px; }
.th-cta-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 24px; background:#00C434; color:#1B1C1A; font-weight:700; text-decoration:none; }
