/*
Buttons, the hero shell, and the grid mechanics shared across pages.

Every existing page had reinvented the same "display:grid; two equal
columns" or "auto-fit card grid" rule under a different, page-specific class
name (.bsw-stat-grid, .bsw-asset-grid, .bsw-bio-grid, .bsw-review-grid...).
Rather than rename them in the already-published markup, they're grouped
here so the *mechanics* live in one place — new pages should reach for
.bsw-grid-2 / .bsw-grid-3 / .bsw-grid-auto directly instead of inventing yet
another synonym.
*/

/* ===== Buttons ===== */
.bsw-btn-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:10px}
.bsw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 30px;border-radius:var(--bsw-radius-sm);background:var(--bsw-red);color:var(--bsw-text-bright);font-family:var(--bsw-font-support);font-weight:600;font-size:14px;letter-spacing:1px;text-transform:uppercase;text-decoration:none;border:1.5px solid var(--bsw-red);transition:opacity .2s,background-color .2s}
.bsw-btn svg{width:14px;height:14px;flex-shrink:0}
.bsw-btn:hover{opacity:.85}
.bsw-btn-outline{background:transparent;color:var(--bsw-text-bright);border:1.5px solid var(--bsw-text-bright)}
.bsw-btn-outline:hover{background:var(--bsw-text-bright);color:var(--bsw-black);opacity:1}

/* ===== Hero shell =====
   Background image is page content, not design system — set it inline on
   the element itself: style="background-image:linear-gradient(...),url(...)"
   .bsw-hero alone = plain padded hero, solid black (used by Reviews, Cast).
   .bsw-hero.bsw-hero--full = full-viewport image hero (Press Room, About,
   Making Blood Star). */
.bsw-hero{position:relative;padding:150px 24px 80px;text-align:center;background:var(--bsw-black);background-size:cover;background-position:center}
.bsw-hero--full{min-height:100vh;display:flex;align-items:center;justify-content:center;padding-top:120px}
.bsw-hero-inner{max-width:760px;margin:0 auto}

/* ===== Generic grids (use these on new pages) ===== */
.bsw-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--bsw-gap)}
.bsw-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bsw-grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--bsw-grid-min,200px),1fr));gap:18px}

/* ===== Existing page-specific grid class names, same mechanics ===== */
.bsw-stat-grid,.bsw-asset-grid,.bsw-bio-grid,.bsw-perf-grid,.bsw-credits-grid,
.bsw-review-grid,.bsw-industry-grid{
	display:grid;grid-template-columns:1fr 1fr;gap:var(--bsw-gap);
}
.bsw-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bsw-cast-grid,.bsw-stat-box-grid,.bsw-terr-grid,.bsw-topic-grid,.bsw-quote-grid{
	display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--bsw-grid-min,200px),1fr));gap:18px;
}
.bsw-cast-grid{--bsw-grid-min:190px}
.bsw-stat-box-grid{--bsw-grid-min:150px;margin-bottom:50px}
.bsw-terr-grid{--bsw-grid-min:160px;margin-bottom:36px}
.bsw-topic-grid{--bsw-grid-min:200px;margin-bottom:36px}
.bsw-quote-grid{--bsw-grid-min:220px}
.bsw-credits-grid,.bsw-industry-grid{max-width:900px;margin:0 auto}
.bsw-industry-grid{margin-bottom:28px}

.bsw-split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:60px}
.bsw-split p{color:var(--bsw-text);font-size:16px;line-height:1.7;margin:14px 0 0}

@media (max-width:820px){
	.bsw-grid-2,.bsw-grid-3,
	.bsw-stat-grid,.bsw-asset-grid,.bsw-bio-grid,.bsw-perf-grid,.bsw-credits-grid,
	.bsw-review-grid,.bsw-industry-grid,.bsw-theme-grid,.bsw-split{
		grid-template-columns:1fr;
	}
}
