  .archive-hero{ padding:56px 0 24px }
  .archive-hero .eyebrow-line{
    font-family:var(--mono);
    font-size:11.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color: var(--fg-mute);
    margin-bottom:12px;
  }
  .archive-hero h1{
    font-family:var(--display);
    font-weight:600;
    font-size:clamp(40px, 5vw, 64px);
    line-height:1.02;
    letter-spacing:-0.025em;
    margin:0 0 16px;
    color: var(--fg);
  }
  .archive-hero h1 .muted{ color: var(--accent); font-style:italic; font-weight:400 }
  .archive-hero p{
    font-size:17px; color:var(--fg-dim);
    max-width:60ch; margin:0;
    line-height:1.55;
  }
  .archive-hero .back-link{
    font-family:var(--mono);
    font-size:12px;
    color: var(--fg-mute);
    text-decoration: none;
  }
  .archive-hero .back-link:hover{ color: var(--accent) }

  .archive-wrap{ padding-bottom:80px }

  .filter-bar{
    display:grid;
    grid-template-columns: 1fr auto;
    gap:14px;
    align-items:center;
    margin: 24px 0 8px;
    padding:8px 0;
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
  }
  .search-wrap{
    display:flex; align-items:center; gap:10px;
    padding:6px 4px;
  }
  .search-wrap svg{ color: var(--fg-mute); flex-shrink:0 }
  #conceptSearch{
    flex:1; min-width:0;
    background:transparent;
    border:0; outline:0;
    color:var(--fg);
    font-family:var(--sans);
    font-size:15px;
    padding:8px 4px;
  }
  #conceptSearch::placeholder{ color:var(--fg-mute) }
  .count{
    font-family:var(--mono);
    font-size:11.5px;
    letter-spacing:.1em;
    color:var(--fg-mute);
    text-transform:uppercase;
    padding:0 4px;
    white-space:nowrap;
  }
  .count b{ color:var(--fg); font-weight:500 }

  .concept-definition{
    margin: 8px 0 0;
    padding: 20px 0 24px;
    border-top: 1px solid var(--line-soft);
  }
  .concept-definition .def-label{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color: var(--fg-mute);
    margin-bottom: 10px;
  }
  .concept-definition p{
    margin: 0;
    font-size: 17px;
    line-height: 1.6;
    color: var(--fg-dim);
    max-width: 68ch;
  }
  .concept-definition p strong{ color: var(--fg); font-weight: 500 }

  .concepts-page{ padding-top: 16px }
  .concepts-page .concept-group{
    border-top: 1px solid var(--line-soft);
    padding: 32px 0 24px;
  }
  .concepts-page .concept-group h2{
    font-family:var(--display);
    font-weight:600;
    font-size:24px;
    margin: 0 0 4px;
    color: var(--fg);
  }
  .concept-group-sub{
    margin: 0 0 18px;
    color: var(--fg-mute);
    font-size: 14px;
  }
  .concept-cloud{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .ep-chip{
    display:inline-flex; align-items:center;
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:6px 12px;
    border:1px solid var(--line);
    border-radius:999px;
    color:var(--fg-dim);
    background: transparent;
    text-decoration:none;
    transition: color .12s ease, border-color .12s ease, background .12s ease;
    gap:8px;
  }
  .ep-chip:hover{ color: var(--accent); border-color: var(--accent) }
  .ep-chip--theme{ color: var(--fg); border-color: var(--fg-dim); font-weight:600 }
  .ep-chip--theme:hover{ color: var(--accent); border-color: var(--accent) }
  .ep-chip--author{
    text-transform: none;
    letter-spacing: 0;
    font-family: var(--display);
    font-size: 12px;
  }
  .chip-count{
    font-size: 10px;
    color: var(--fg-mute);
    background: var(--line-soft);
    padding: 1px 6px;
    border-radius: 999px;
  }

  .external-papers{
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .paper-row{
    margin: 0 0 14px;
    padding: 0;
  }
  .paper-title{
    color: var(--fg);
    text-decoration: none;
    font-weight: 500;
    border-bottom: 1px dotted var(--line);
  }
  .paper-title:hover{ color: var(--accent); border-color: var(--accent) }
  .paper-why{
    margin-top: 4px;
    font-size: 13px;
    color: var(--fg-mute);
  }

  .empty{
    padding:40px 24px;
    text-align:center;
    font-family:var(--mono);
    font-size:13px;
    color:var(--fg-mute);
    border:1px dashed var(--line);
    border-radius:6px;
    margin-top:14px;
  }

  /* A–Z filter bar on the concepts index — mirrors the glossary's
     letter TOC, but as toggle buttons that filter the chip cloud. */
  .az-bar{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:14px 0 10px;
  }
  .az-letter{
    display:inline-block;
    min-width:30px;
    padding:4px 8px;
    border-radius:6px;
    font-family:var(--mono);
    font-size:13px;
    font-weight:500;
    text-align:center;
    border:1px solid var(--fg-mute);
    background: var(--bg-2);
    color: var(--fg);
    cursor:pointer;
  }
  button.az-letter:hover,
  .az-letter.is-active{
    color: var(--bg);
    background: var(--accent);
    border-color: var(--accent);
  }
  .az-letter.is-empty{
    color: var(--fg-mute);
    background: transparent;
    opacity:0.4;
    pointer-events:none;
  }
  @media (max-width: 860px){
    .az-letter{ min-width:26px; padding:3px 6px }
  }

  @media (max-width: 860px){
    .archive-hero{ padding:40px 0 16px }
  }
