/* One brand card; video reserves the same 16:9 space before and after play. */
.tb-home-brand { display: grid; grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); column-gap: var(--tb-space-lg); row-gap: var(--tb-space-md); padding: var(--tb-space-md); background: #fff; border: 1px solid var(--tb-border); border-left: 3px solid var(--tb-accent); }
.tb-home-brand-copy { align-self: end; }
.tb-home-brand-copy p:last-child { margin-bottom: 0; }
.tb-home-brand-copy h3 { margin-bottom: var(--tb-space-sm); }
.tb-home-brand-action { grid-column: 1; align-self: start; }
.tb-brand-media { grid-column: 2; grid-row: 1 / span 2; align-self: center; min-width: 0; }
.tb-brand-video { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #0b2852; border-radius: 4px; }
.tb-brand-video .tb-brand-poster, .tb-brand-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }
body.tb-site .tb-brand-video .tb-brand-play { position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; min-height: 64px; padding: 8px; border: 0; border-radius: 50%; background: var(--tb-accent); color: #fff; cursor: pointer; box-shadow: 0 4px 20px #0005; }
.tb-brand-play svg { width: 48px; height: 48px; }
.tb-brand-play:hover { background: #bf071b; }
.tb-brand-play:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.tb-home-brand-no-video { grid-template-columns: 1fr; }
@media (max-width: 900px) {
 .tb-home-brand { grid-template-columns: minmax(0, 1fr); padding: 20px; }
 .tb-brand-media { grid-column: 1; grid-row: 2; }
 .tb-home-brand-action { grid-row: 3; }
}
@media (max-width: 600px) { .tb-home-brand { padding: 16px; gap: 16px; } }
