/* Brand directory: visual language derived from the supplied Lisen storefront. */
.brands-page { background: #f7f8fa; padding-bottom: 64px; }
.brands-hero { position: relative; overflow: hidden; padding: 58px 0 52px; color: #fff; background: linear-gradient(124deg, #002d5d 0%, #003d7a 52%, #0a4a8f 100%); }
.brands-hero::before, .brands-hero::after { content: ""; position: absolute; pointer-events: none; border: 1px solid rgba(255,255,255,.12); transform: rotate(45deg); }
.brands-hero::before { width: 370px; height: 370px; right: 8%; top: -235px; }
.brands-hero::after { width: 210px; height: 210px; right: 2%; bottom: -150px; border-color: rgba(230,92,0,.6); }
.brands-hero .container { position: relative; z-index: 1; }
.brands-eyebrow, .brands-kicker { margin: 0 0 10px; color: #ffb37a; font-size: 11px; font-weight: 800; letter-spacing: 1.35px; text-transform: uppercase; }
.brands-eyebrow span { margin-right: 7px; color: #e65c00; }
.brands-hero h1 { max-width: 640px; margin: 0; color: #fff; font-size: clamp(34px, 4vw, 50px); line-height: 1.05; letter-spacing: -1.8px; }
.brands-hero h1 span, .brands-directory h2 span { color: #e65c00; }
.brands-hero p { max-width: 560px; margin: 16px 0 28px; color: #d7e4f2; font-size: 16px; line-height: 1.65; }
.brands-hero-stats { display: flex; flex-wrap: wrap; gap: 0; }
.brands-hero-stats div { min-width: 145px; padding: 0 24px; border-left: 1px solid rgba(255,255,255,.28); }
.brands-hero-stats div:first-child { padding-left: 0; border: 0; }
.brands-hero-stats strong, .brands-hero-stats span { display: block; }
.brands-hero-stats strong { color: #fff; font-size: 20px; line-height: 1.2; }
.brands-hero-stats span { margin-top: 4px; color: #b9ccdf; font-size: 12px; }
.brands-directory { padding-top: 38px; }
.brands-directory-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.brands-directory h2 { margin: 0; color: #17223a; font-size: 28px; letter-spacing: -.7px; }
.brands-result-count { margin: 0; color: #6b7280; font-size: 13px; }
.brands-index { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 22px; padding: 14px; background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; box-shadow: 0 4px 14px rgba(0,35,73,.04); }
.brands-index a { display: grid; min-width: 30px; height: 30px; padding: 0 7px; place-items: center; border-radius: 4px; color: #526171; font-size: 12px; font-weight: 700; }
.brands-index a:hover { color: #003d7a; background: #edf4fb; }
.brands-index a.is-active { color: #fff; background: #003d7a; }
.brands-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.brand-directory-card { display: flex; align-items: center; min-width: 0; gap: 13px; padding: 16px; border: 1px solid #e2e6eb; border-radius: 7px; background: #fff; color: #17223a; box-shadow: 0 2px 4px rgba(0,35,73,.025); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.brand-directory-card:hover { color: #17223a; border-color: #e65c00; box-shadow: 0 10px 23px rgba(0,42,86,.12); transform: translateY(-3px); }
.brand-directory-icon { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; border-radius: 12px 12px 12px 3px; background: linear-gradient(135deg, #e9f1f8, #d7e7f5); color: #003d7a; }
.brand-directory-icon span { max-width: 38px; overflow: hidden; font-size: 12px; font-weight: 900; letter-spacing: -.3px; text-overflow: ellipsis; white-space: nowrap; }
.brand-directory-copy { display: grid; min-width: 0; gap: 3px; }
.brand-directory-copy strong { overflow: hidden; color: #17223a; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.brand-directory-copy small { overflow: hidden; color: #778292; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.brand-directory-arrow { margin-left: auto; color: #c1c8d1; font-size: 20px; transition: color .18s ease, transform .18s ease; }
.brand-directory-card:hover .brand-directory-arrow { color: #e65c00; transform: translateX(3px); }
.brands-empty { display: flex; align-items: center; justify-content: space-between; padding: 30px; border: 1px solid #e5e7eb; background: #fff; border-radius: 7px; }
.brands-empty a { color: #003d7a; font-weight: 700; }
@media (max-width: 980px) { .brands-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .brands-hero { padding: 42px 0 38px; } .brands-hero-stats div { min-width: 0; padding: 0 14px; } .brands-directory { padding-top: 28px; } .brands-directory-head { align-items: flex-start; flex-direction: column; gap: 7px; } .brands-directory h2 { font-size: 24px; } .brands-index { gap: 4px; padding: 10px; } .brands-index a { min-width: 28px; height: 28px; padding: 0 5px; } .brands-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .brand-directory-card { gap: 10px; padding: 12px; } .brand-directory-icon { flex-basis: 38px; width: 38px; height: 38px; } .brand-directory-icon span { font-size: 10px; } .brand-directory-arrow { display: none; } }
@media (max-width: 390px) { .brands-grid { grid-template-columns: 1fr; } }
