.edc-brand-index-page { min-height: 60vh; padding: clamp(28px, 4vw, 58px) 0 clamp(76px, 8vw, 132px); }
.edc-brand-index-head > p:last-child { max-width: 62ch; margin: 28px 0 0; color: var(--edc-muted); font-size: clamp(15px, 1.3vw, 18px); line-height: 1.7; }
.edc-brand-search { max-width: 720px; margin-bottom: 28px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 7px 20px; }
.edc-brand-search label { grid-column: 1 / -1; margin: 0; color: var(--edc-muted); font-size: 12px; font-weight: 600; }
.edc-brand-search input { width: 100%; min-height: 52px; border: 1px solid var(--edc-line); border-radius: 0; padding: 0 14px; background: var(--edc-white); font-size: 16px; }
.edc-brand-search input:focus { border-color: var(--edc-ink); outline: 2px solid var(--edc-focus); outline-offset: 2px; }
.edc-brand-search p { min-width: 130px; margin: 0; padding-bottom: 15px; color: var(--edc-muted); font-size: 12px; font-variant-numeric: tabular-nums; text-align: right; }
.edc-brand-alphabet { position: sticky; z-index: 20; top: 0; margin-bottom: clamp(42px, 6vw, 72px); padding: 14px 0; display: flex; flex-wrap: wrap; gap: 6px; border-top: 1px solid var(--edc-ink); border-bottom: 1px solid var(--edc-line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.edc-brand-alphabet a { min-width: 42px; min-height: 42px; display: grid; place-items: center; border: 1px solid transparent; font-family: "EDC UI", Arial, sans-serif; font-size: 14px; font-weight: 600; }
.edc-brand-alphabet a:hover { border-color: var(--edc-ink); background: var(--edc-ink); color: var(--edc-white) !important; }
.edc-brand-directory { border-top: 1px solid var(--edc-ink); }
.edc-brand-group { scroll-margin-top: 90px; padding: clamp(20px, 2.4vw, 34px) 0 clamp(28px, 3vw, 42px); display: grid; grid-template-columns: minmax(80px, .35fr) minmax(0, 1.65fr); gap: 24px 48px; border-bottom: 1px solid var(--edc-line); }
.edc-brand-group h2 { margin: 0; font-size: clamp(34px, 5vw, 72px); line-height: .9; letter-spacing: -.04em; }
.edc-brand-group__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-content: start; border-top: 1px solid var(--edc-line); border-left: 1px solid var(--edc-line); }
.edc-brand-group__links a { min-height: 78px; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-right: 1px solid var(--edc-line); border-bottom: 1px solid var(--edc-line); font-family: "EDC UI", Arial, sans-serif; font-size: 14px; transition: background 180ms ease, color 180ms ease; }
.edc-brand-link__identity { min-width: 0; display: grid; gap: 5px; }
.edc-brand-link__name { font-weight: 650; line-height: 1.25; }
.edc-brand-link__categories { overflow: hidden; color: var(--edc-muted); font-size: 11px; font-weight: 450; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; transition: color 180ms ease; }
.edc-brand-group__links a:hover .edc-brand-link__categories { color: rgba(255,255,255,.72); }
.edc-brand-group__links a svg { flex: 0 0 18px; width: 18px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.2; }
.edc-brand-group__links a:hover { background: var(--edc-ink); color: var(--edc-white) !important; }
.edc-brand-group[hidden], .edc-brand-group__links a[hidden] { display: none !important; }
.edc-brand-search-empty { max-width: 720px; padding: clamp(48px, 7vw, 88px) 0; }
.edc-brand-search-empty h2 { margin: 0 0 14px; font-size: clamp(34px, 4vw, 42px); }
.edc-brand-search-empty p { max-width: 52ch; margin: 0 0 24px; color: var(--edc-muted); }

@media (max-width: 960px) {
  .edc-brand-alphabet { top: 72px; }
  .edc-brand-group { grid-template-columns: 90px minmax(0, 1fr); gap: 24px; }
  .edc-brand-group__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .edc-brand-search { grid-template-columns: 1fr; }
  .edc-brand-search p { min-width: 0; padding: 0; text-align: left; }
  .edc-brand-alphabet { position: static; gap: 2px; }
  .edc-brand-alphabet a { min-width: 36px; min-height: 38px; }
  .edc-brand-group { grid-template-columns: 1fr; }
  .edc-brand-group h2 { font-size: 42px; }
  .edc-brand-group__links { grid-template-columns: 1fr 1fr; }
  .edc-brand-group { padding-block: 18px 24px; }
  .edc-brand-group__links a { min-height: 70px; padding: 11px 12px; font-size: 12px; }
  .edc-brand-link__categories { font-size: 10px; }
}

@media (max-width: 390px) {
  .edc-brand-group__links { grid-template-columns: 1fr; }
}
