/* Layout: a directory of brand plates filtered by vertical and model, then a vertical-by-model map of the whole group. */


/* ============ filters ============ */
.filters{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px clamp(24px,4vw,56px);align-items:start;}
.fgroup{display:flex;flex-direction:column;gap:12px;min-width:0;}
.fcount{margin-top:28px;padding-bottom:14px;border-bottom:1px solid var(--line);color:var(--muted);}
@media (max-width:900px){.filters{grid-template-columns:minmax(0,1fr);}}

/* ============ company cards ============ */
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px;}
@media (min-width:1200px){.cards{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:600px){.cards{grid-template-columns:minmax(0,1fr);}}

/* ============ portfolio map ============ */
.pmap-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);}
.pmap-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.pmap{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed;}
.pmap th,.pmap td{border-bottom:1px solid var(--line);border-left:1px solid var(--line);padding:12px 10px;vertical-align:top;text-align:left;min-width:0;}
.pmap tr > :first-child{border-left:0;}
.pmap tbody tr:last-child > *{border-bottom:0;}
.pmap thead th{
  font-family:var(--f-display);font-stretch:108%;font-weight:650;font-size:0.95rem;color:var(--ink);background:var(--surface);
}
.pmap thead th .n{display:block;margin-top:2px;font-family:var(--f-body);font-weight:500;font-size:0.8rem;color:var(--muted);font-variant-numeric:tabular-nums;}
.pmap thead th:first-child{width:10.5rem;}
.pmap tbody th{background:var(--surface);}
.pmap tbody th .lab{display:block;margin-bottom:4px;}
.pmap tbody th b{font-family:var(--f-display);font-stretch:108%;font-weight:650;font-size:1rem;color:var(--ink);}
.pmap td.has{background:var(--accent-soft);}
.pmap .cell{display:flex;flex-direction:column;gap:6px;}
.pmap .cell a{
  display:block;max-width:100%;padding:6px 8px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);
  font-family:var(--f-display);font-weight:600;font-size:0.8rem;line-height:1.25;color:var(--ink);text-decoration:none;
  overflow-wrap:anywhere;
  transition:border-color .2s,color .2s;
}
.pmap .cell a:hover{border-color:var(--accent);color:var(--accent);}
.pmap .nil{display:block;width:6px;height:6px;border-radius:50%;background:var(--line-strong);margin:6px 0 0 2px;}
