/* Alphabet navigation and grouped result headings shared by glossary and companies. */
.rio-alphabet { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,44px),1fr)); grid-auto-rows:minmax(44px,auto); gap:6px; min-width:0; padding:14px; margin:14px 0 0; background:var(--rio-soft,#f4f6f7); border-block:1px solid var(--rio-line,#dce2e7); }
.rio-alphabet>a,.rio-alphabet>span { display:flex; box-sizing:border-box; justify-content:center; align-items:center; min-width:0; width:100%; min-height:44px; padding:7px 4px; text-decoration:none; font:600 12px/1.4 var(--rio-font,system-ui,sans-serif); white-space:nowrap; border:1px solid var(--rio-line,#dce2e7); background:var(--rio-accent,#00fe01); color:var(--rio-ink,#20344b); }
.rio-alphabet [aria-current] { color:#fff; background:var(--rio-ink,#20344b); border-color:var(--rio-ink,#20344b); }
.rio-alphabet .is-unavailable { opacity:.45; background:transparent; }
.rio-alphabet>a:hover { border-color:var(--rio-ink,#20344b); }
.rio-index-group { margin-top:24px; }
.rio-index-group>h2 { display:flex; align-items:center; gap:14px; margin:0 0 12px; font:var(--rio-heading-weight,700) var(--rio-heading-current-size,var(--rio-heading-size,24px))/1 var(--rio-heading,system-ui,sans-serif); }
.rio-index-group>h2::after { content:''; height:1px; flex:1; background:var(--rio-line,#dce2e7); }
.rio-index-group>h2>span { display:grid; place-items:center; min-width:42px; height:42px; padding:8px; background:var(--rio-accent,#00fe01); }
.rio-index-items { display:grid; gap:10px; }
@media(min-width:540px) { .rio-alphabet { padding:20px; gap:8px; } }
