/* Public brand blog (/blogs) — neutral so it sits inside every storefront's own chrome. */
.bb-page { background:#fff; color:#0f172a; padding:3rem 0 4rem; }
.bb-wrap { max-width:72rem; margin:0 auto; padding:0 1.25rem; }
.bb-wrap--article { max-width:46rem; }

.bb-hero { max-width:44rem; margin-bottom:1.75rem; }
.bb-hero__eyebrow { margin:0 0 .5rem; font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#64748b; }
.bb-hero__title { margin:0; font-size:clamp(1.9rem, 3.6vw, 2.75rem); line-height:1.12; font-weight:800; letter-spacing:-.02em; color:#0f172a; }
.bb-hero__lead { margin:.8rem 0 0; font-size:1.05rem; line-height:1.6; color:#475569; }

.bb-topics { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1.75rem; }
.bb-topic {
  display:inline-flex; align-items:center; gap:.4rem; border:1px solid #e2e8f0; border-radius:999px;
  padding:.4rem .85rem; font-size:.85rem; font-weight:700; color:#334155; text-decoration:none; background:#fff;
}
.bb-topic span { font-size:.75rem; color:#94a3b8; font-variant-numeric:tabular-nums; }
.bb-topic:hover { border-color:#94a3b8; }
.bb-topic.is-on { background:#0f172a; border-color:#0f172a; color:#fff; }
.bb-topic.is-on span { color:#cbd5e1; }

.bb-tag {
  display:inline-block; border-radius:999px; border:1px solid #e2e8f0; background:#f8fafc; color:#475569;
  padding:.15rem .6rem; font-size:.7rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase;
}
.bb-tag--type { background:#f1f5f9; color:#0f172a; }
.bb-tag--src { background:#eef2ff; border-color:#c7d2fe; color:#3730a3; }
.bb-meta { margin:.6rem 0 0; font-size:.82rem; color:#64748b; }
.bb-more { display:inline-block; margin-top:.9rem; font-size:.88rem; font-weight:800; color:#0f172a; }

.bb-feature { border:1px solid #e2e8f0; border-radius:1.1rem; background:linear-gradient(135deg,#f8fafc 0%,#fff 65%); margin-bottom:1.5rem; transition:box-shadow .2s, border-color .2s; }
.bb-feature:hover { border-color:#cbd5e1; box-shadow:0 18px 40px -28px rgba(15,23,42,.45); }
.bb-feature__link { display:block; padding:clamp(1.4rem, 3vw, 2.25rem); color:inherit; text-decoration:none; }
.bb-feature__tags, .bb-card__tags { display:flex; flex-wrap:wrap; gap:.4rem; }
.bb-feature__title { margin:.9rem 0 0; font-size:clamp(1.45rem, 2.6vw, 2rem); line-height:1.2; font-weight:800; letter-spacing:-.01em; color:#0f172a; }
.bb-feature__excerpt { margin:.7rem 0 0; max-width:46rem; font-size:1.02rem; line-height:1.6; color:#475569; }

.bb-grid { display:grid; gap:1.1rem; grid-template-columns:repeat(auto-fill, minmax(17rem, 1fr)); }
.bb-card { border:1px solid #e2e8f0; border-radius:1rem; background:#fff; transition:box-shadow .2s, border-color .2s, transform .2s; }
.bb-card:hover { border-color:#cbd5e1; box-shadow:0 14px 32px -24px rgba(15,23,42,.5); transform:translateY(-1px); }
.bb-card--static:hover { transform:none; box-shadow:none; }
.bb-card__link { display:flex; flex-direction:column; height:100%; padding:1.25rem; color:inherit; text-decoration:none; }
.bb-card__title { margin:.7rem 0 0; font-size:1.12rem; line-height:1.3; font-weight:800; color:#0f172a; }
.bb-card__excerpt { margin:.5rem 0 0; font-size:.92rem; line-height:1.55; color:#475569; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.bb-card .bb-more { margin-top:auto; padding-top:.9rem; }

.bb-empty { border:1px dashed #cbd5e1; border-radius:1rem; padding:2rem; text-align:center; color:#475569; }
.bb-empty h2 { margin:0 0 .4rem; font-size:1.25rem; font-weight:800; color:#0f172a; }
.bb-empty p { margin:0 auto; max-width:32rem; line-height:1.6; }

.bb-archive, .bb-related { margin-top:2.75rem; }
.bb-archive__title { margin:0 0 1rem; font-size:1.25rem; font-weight:800; color:#0f172a; }

.bb-crumbs { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; margin-bottom:1.4rem; font-size:.85rem; color:#94a3b8; }
.bb-crumbs a { color:#475569; font-weight:700; text-decoration:none; }
.bb-crumbs a:hover { color:#0f172a; text-decoration:underline; }
.bb-article__title { margin:.9rem 0 0; font-size:clamp(1.9rem, 4vw, 2.6rem); line-height:1.15; font-weight:800; letter-spacing:-.02em; color:#0f172a; }
.bb-article__meta { margin-top:.8rem; padding-bottom:1.2rem; border-bottom:1px solid #e2e8f0; }
.bb-article__lede { margin:1.4rem 0 0; font-size:1.18rem; line-height:1.6; color:#334155; font-weight:500; }
.bb-article__body { margin-top:1.4rem; font-size:1.06rem; line-height:1.75; color:#1e293b; }
.bb-article__body h2 { margin:2rem 0 .6rem; font-size:1.45rem; line-height:1.3; font-weight:800; color:#0f172a; }
.bb-article__body h3 { margin:1.5rem 0 .5rem; font-size:1.15rem; font-weight:800; color:#0f172a; }
.bb-article__body p { margin:0 0 1.1rem; }
.bb-article__body ul, .bb-article__body ol { margin:0 0 1.2rem 1.4rem; padding:0; }
.bb-article__body ul { list-style:disc; }
.bb-article__body ol { list-style:decimal; }
.bb-article__body li { margin:.35rem 0; padding-left:.2rem; }
.bb-article__body strong { font-weight:800; color:#0f172a; }
.bb-article__body blockquote { margin:1.5rem 0; padding:.9rem 1.2rem; border-left:4px solid #0f172a; background:#f8fafc; border-radius:0 .75rem .75rem 0; }
.bb-article__body blockquote p { margin:0; font-size:1.1rem; line-height:1.6; font-weight:600; color:#0f172a; }
.bb-article__foot { margin-top:2.2rem; padding-top:1.2rem; border-top:1px solid #e2e8f0; }
.bb-back { font-size:.92rem; font-weight:800; color:#0f172a; text-decoration:none; }
.bb-back:hover { text-decoration:underline; }
