.brand-plate { display:flex; flex-direction:column; width:100%; overflow:hidden; border-radius:18px; background:var(--wh-surface); border:1px solid var(--wh-line);
    box-shadow:0 1px 2px rgba(15,23,42,.08), 0 3px 0 -1px #E4E8EF, 0 14px 22px -12px rgba(15,23,42,.30); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.brand-face { position:relative; display:block; width:100%; aspect-ratio:7 / 3; overflow:hidden; background:var(--wh-surface-3); isolation:isolate; }
.brand-face::before { content:''; position:absolute; inset:-20px; background-image:var(--logo); background-size:cover; background-position:center; filter:blur(22px) saturate(1.1); z-index:0; }
.brand-face img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block; z-index:1; }
.brand-face .brand-letter { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--navy),#1d6c72); color:#fff; font-size:38px; font-weight:800; z-index:1; }
.brand-plate .brand-name { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:46px; padding:0 14px; margin:0; background:linear-gradient(180deg,var(--wh-surface),var(--wh-surface-3)); border-top:1px solid var(--wh-line); font-size:14px; font-weight:800; color:var(--wh-ink); white-space:nowrap; }
.brand-plate .brand-name { overflow:hidden; }
.brand-plate .brand-name span { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.brand-face.is-native::before { display:none; }
/* A logo with its own rounded corners is enlarged ~8% so those corners fall outside the card and the artwork reaches every edge. Only the outer 3.5% margin is hidden. */
.brand-face.is-native img { transform:scale(1.085); }
.brand-face.is-native { background:var(--wh-surface); }
.brand-plate .brand-name:not(.is-center) span { text-align:start; }
.brand-plate .brand-name small { flex-shrink:0; font-size:12px; font-weight:600; color:var(--wh-muted); }
.brand-name.is-center { justify-content:center; }
a:hover > .brand-plate, .brand-tile:hover .brand-plate { transform:translateY(-4px); border-color:var(--orange); box-shadow:0 1px 2px rgba(15,23,42,.08), 0 3px 0 -1px #F6D2B3, 0 22px 30px -12px rgba(15,23,42,.34); }
@media (max-width:640px) { #brand-grid { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; gap:18px 12px !important; } .brand-plate .brand-name { min-height:42px; padding:0 10px; font-size:13px; } .brand-plate .brand-name small { font-size:11px; } #brand-grid .brand-plate .brand-name { flex-direction:column; align-items:flex-start; justify-content:center; gap:1px; min-height:52px; } #brand-grid .brand-plate .brand-name span { flex:none; max-width:100%; } }
