.bm-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font:600 16px/24px var(--font-sans);padding:10px 20px;cursor:pointer;transition:background .15s}
.bm-btn:focus-visible,.bm-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.bm-btn--sm{font-size:14px;line-height:20px;padding:6px 14px}
.bm-btn--primary{background:var(--brand);color:var(--on-brand)}
.bm-btn--primary:hover{filter:brightness(1.08)}
.bm-btn--secondary{background:var(--surface-raised);color:var(--ink);border-color:var(--border)}
.bm-btn--ghost{background:transparent;color:var(--brand)}
.bm-btn:disabled{opacity:.45;cursor:not-allowed}
.bm-badge{display:inline-flex;align-items:center;gap:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--ink-muted);font:500 12px/16px var(--font-sans);padding:2px 10px}
.bm-badge--positive{color:var(--positive);border-color:var(--positive)}
.bm-badge--warning{color:var(--warning);border-color:var(--warning)}
.bm-badge--negative{color:var(--negative);border-color:var(--negative)}
.bm-field{display:flex;flex-direction:column;gap:var(--space-1);font-family:var(--font-sans)}
.bm-field label{font:500 14px/20px var(--font-sans);color:var(--ink)}
.bm-input{background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-sm);font:400 16px/24px var(--font-sans);padding:8px 12px}
.bm-input::placeholder{color:var(--ink-muted)}
.bm-input--error{border-color:var(--negative)}
.bm-hint{font:400 12px/16px var(--font-sans);color:var(--ink-muted)}
.bm-hint--error{color:var(--negative)}
.bm-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);min-width:200px;font-family:var(--font-sans)}
.bm-card__label{font:500 12px/16px var(--font-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--ink-muted)}
.bm-card__value{font:600 48px/52px var(--font-mono);color:var(--ink)}
.bm-card__delta{font:600 14px/20px var(--font-mono)}
.bm-card__delta--up{color:var(--positive)}.bm-card__delta--down{color:var(--negative)}
.bm-card__hint{font:400 14px/20px var(--font-sans);color:var(--ink-muted)}
.bm-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;font:400 14px/20px var(--font-sans);color:var(--ink)}
.bm-table th{text-align:left;font:500 12px/16px var(--font-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--ink-muted);background:var(--surface-raised);padding:var(--space-3) var(--space-4)}
.bm-table td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}
.bm-table .bm-num{text-align:right;font-family:var(--font-mono)}
.bm-hero-wrap{container-type:inline-size}
.bm-hero{position:relative;overflow:hidden;aspect-ratio:16/9;min-height:240px;border-radius:var(--radius-lg);background:var(--scrim);font-family:var(--font-sans)}
.bm-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bm-hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--scrim) 84%,transparent) 0%,color-mix(in srgb,var(--scrim) 58%,transparent) 38%,color-mix(in srgb,var(--scrim) 0%,transparent) 70%)}
.bm-hero__body{position:relative;height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);max-width:54%;padding:var(--space-8) var(--space-12)}
.bm-hero__title{margin:0;color:var(--on-photo);font-weight:800;letter-spacing:-.5px;line-height:1.08;font-size:clamp(28px,4.4cqw,56px)}
.bm-hero__sub{margin:0;color:var(--on-photo-muted);font-size:clamp(14px,1.9cqw,22px);line-height:1.4}
.bm-hero__line{display:block;width:56px;height:3px;border-radius:var(--radius-pill);background:var(--on-photo-accent);margin-top:var(--space-2)}
.bm-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}
.bm-hero .bm-btn--secondary{background:var(--on-photo);color:var(--scrim);border-color:var(--on-photo)}
.bm-hero--compact{min-height:200px}
@container (max-width:640px){
.bm-hero{aspect-ratio:auto;min-height:0;display:flex;flex-direction:column}
.bm-hero__img{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:1/1;object-position:74% 10%!important}
.bm-hero__scrim{inset:auto;left:0;right:0;top:0;aspect-ratio:1/1;background:linear-gradient(0deg,var(--scrim) 0%,color-mix(in srgb,var(--scrim) 0%,transparent) 22%)}
.bm-hero__body{max-width:none;height:auto;justify-content:flex-start;padding:var(--space-1) var(--space-6) var(--space-6)}
}
