
.hero-slim { padding: 12px 0 36px }
.hero-inner-slim { grid-template-columns: 1fr }
.hero-inner-slim .sub { max-width: 760px }

.section-blog { padding-top: 36px }
.blog-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr; /* narrower left panel */
  gap: 28px;
}
@media (max-width: 1024px) { .blog-grid { grid-template-columns: 1fr; gap: 18px } }
.blog-aside { position: sticky; top: 18px; align-self: start; display: grid; gap: 14px }

.card {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border-radius: 16px;
  box-shadow: var(--shadow);
  padding: 14px;
  position: relative;
}
.card::after{
  content:"";position:absolute;inset:-1px;border-radius:18px;padding:1px;
  background: conic-gradient(from 220deg, rgba(0,214,200,.0), rgba(0,214,200,.35), rgba(83,109,254,.35), rgba(0,214,200,.0));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.25;pointer-events:none
}
.card-title { margin: 2px 0 10px; font-size: 1.02rem; letter-spacing: .2px; display:flex; align-items:center; gap:8px }
.muted { color: var(--muted); margin: 8px 0 0 }

.search-card { position: relative }
.search-input-wrap {
  display: grid;
  grid-template-columns: 24px 1fr 32px;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.03);
  border-radius: 12px;
  padding: 8px 10px;
}
.search-input-wrap i { color:#cfe2ff }
.search-input-wrap input {
  background: transparent; border: none; outline: none; color: var(--ink); font-size: .98rem
}
.search-input-wrap .clear {
  background: transparent; border: 1px solid transparent; color: #cfe2ff;
  border-radius: 8px; height: 30px; width: 30px; display:grid; place-items:center; cursor: pointer;
}
.search-input-wrap .clear:hover { border-color: rgba(255,255,255,.18) }

.cat-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px }
.cat-list li a {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  text-decoration: none; color: var(--ink);
  border: 1px solid var(--line); background: rgba(255,255,255,.03); padding: 8px 10px; border-radius: 10px;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
  font-weight: 700;
}
.cat-list li a:hover { transform: translateY(-1px); border-color: rgba(102,255,230,.35); background: rgba(255,255,255,.05) }
.cat-count { font-weight: 900; color: #9af6e6; }
.btn-mini-outline.full { width:100%; margin-top:8px }

.post-list { display: grid; gap: 14px }
.post {
  position: relative; border: 1px solid var(--line); border-radius: 16px;
  padding: 16px 16px 72px; /* extra bottom padding to accommodate pinned button */
  background:
    radial-gradient(90% 120% at 0% 0%, rgba(83,109,254,.08), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow: var(--shadow);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.post:hover { transform: translateY(-2px); border-color: rgba(109,255,233,.35); box-shadow: 0 18px 50px rgba(0,0,0,.35) }
.post::before{
  content:""; position:absolute; inset:-1px; border-radius:18px; padding:1px;
  background: conic-gradient(from 180deg, rgba(0,214,200,.0), rgba(0,214,200,.35), rgba(83,109,254,.35), rgba(0,214,200,.0));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.35; pointer-events:none
}
.post h2 { margin: 4px 0 8px; font-size: 1.2rem; line-height: 1.3 }
.post-title { text-decoration:none; color: var(--ink) }
.post-title:hover { text-decoration: none }  /* no underline on hover */

.meta {
  display:flex; flex-wrap:wrap; gap:10px; align-items:center; color: #cfe2ff; font-size: .88rem;
}
.meta .dot { opacity:.4 }
.meta .author { font-weight: 800 }
.meta .cat { font-weight: 900; color: #76ffea; border:1px solid rgba(0,214,200,.35); padding:2px 8px; border-radius: 999px; background: rgba(0,214,200,.10) }

.excerpt { color:#d6e6ff; margin: 8px 0 0 }

.btn-read {
  display:inline-flex; align-items:center; gap:8px; text-decoration:none;
  height:32px; padding:0 12px; border-radius:999px; font-weight:800; letter-spacing:.2px;
  border:1px solid rgba(255,255,255,.28); color:#e8f3ff; background:transparent;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease
}
.btn-read:hover { transform: translateY(-1px); border-color: rgba(102,255,230,.55); box-shadow: 0 8px 18px rgba(0,0,0,.25) }
.pin-br { position:absolute; right:18px; bottom:18px } /* from base theme, duplicated here for isolation */

.pagination {
  display:flex; align-items:center; justify-content:center; gap:10px; margin-top: 18px
}
.page-numbers { display:flex; gap:8px; list-style:none; margin:0; padding:0 }
.page-btn {
  display:inline-grid; place-items:center; min-width:36px; height:36px;
  border-radius:12px; border:1px solid var(--line); background:rgba(255,255,255,.03);
  color:var(--ink); font-weight:800; text-decoration:none;
}
.page-btn[aria-current="page"] { border-color: rgba(102,255,230,.55); background: rgba(0,214,200,.12) }
.page-btn:hover { filter: brightness(1.05) }
.page-ellipsis { color: var(--muted); display:inline-grid; place-items:center; min-width:36px; height:36px; }

.sr-only{
  position:absolute !important; height:1px; width:1px; overflow:hidden; clip:rect(1px,1px,1px,1px);
  white-space:nowrap; border:0; padding:0; margin:-1px;
}
