:root{
  --hsb-card-radius: 18px;
}

/* Subtle background texture (elegant, not flashy) */
body.theme-dark{
  background-image:
    radial-gradient(900px 600px at 15% -10%, rgba(255,255,255,.07), transparent 55%),
    radial-gradient(700px 500px at 85% 0%, rgba(255,255,255,.05), transparent 50%),
    linear-gradient(to bottom, rgba(255,255,255,.02), transparent 220px);
}

/* Typography balance */
.hsb-title{letter-spacing:-.02em;}
.hsb-sub{line-height:1.65;}

/* Product / Paper badges */
.hsb-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:-.01em;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:var(--text);
}
.hsb-badge.small{font-size:11px;padding:5px 9px}

/* Cards: slightly more premium */
.hsb-card, .card-prod, .card-paper{
  border-radius: var(--hsb-card-radius);
}
.hsb-card:hover, .card-prod:hover, .card-paper:hover{
  transform: translateY(-4px);
  transition: transform .18s ease;
}

/* Force nicer line wrapping (avoid 1-letter vertical break) */
.hsb-panel h3, .hsb-panel p, .hsb-card .t, .hsb-card .d,
.card-prod .title, .card-paper .title{
  word-break: keep-all;
}

/* Research-first CTA emphasis on home */
.hsb-cta .hsb-btn.primary{box-shadow:0 10px 26px rgba(0,0,0,.22);}

/* Compact meta blocks */
.hsb-meta-2line{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.5}
.hsb-meta-2line b{color:var(--text);font-weight:800}

/* Mobile comfort */
@media (max-width: 820px){
  .hsb-title{font-size:28px;}
  .hsb-sub{font-size:14.5px;}
}
