/* One surface for all new editorial directories; cards and controls are reused. */
.rio-index { --rio-bleed:var(--rio-gutter,0px); color:var(--rio-ink,#20344b); font-family:var(--rio-font,system-ui,sans-serif); min-width:0; scroll-margin-top:calc(var(--rio-header,80px) + 18px); }
.rio-index-total { margin:0 0 16px; padding:0; color:var(--rio-ink,#20344b); font-size:13px; font-weight:600; }
.rio-index-search { margin-bottom:24px; }.rio-index-search .rio-index-filter-toggle { --rio-control-py:10px; --rio-control-px:16px; --rio-control-gap:8px; width:auto; min-width:110px; display:flex; align-items:center; justify-content:center; gap:var(--rio-control-gap); padding-block:var(--rio-control-py); padding-inline:var(--rio-control-start,var(--rio-control-px)) var(--rio-control-end,var(--rio-control-px)); border:0; border-left:1px solid var(--rio-line,#dce2e7); background:var(--rio-soft,#f4f6f7); font:var(--rio-button-weight,600) var(--rio-button-size,13px)/1.5 var(--rio-button-font,'Poppins',system-ui,-apple-system,"Segoe UI",sans-serif); white-space:nowrap; text-transform:var(--rio-button-transform,none); }
.rio-index-filter-toggle>.rio-icon { width:18px; height:18px; flex:0 0 18px; }
.rio-index-filter-count { display:grid; place-items:center; min-width:22px; height:22px; padding:2px 5px; color:var(--rio-on-dark,#fff); background:var(--rio-ink,#20344b); border-radius:50%; font-size:11px; }
.rio-index-filter-fallback { border:1px solid var(--rio-line,#dce2e7); margin-bottom:24px; }.rio-index-filter-fallback>summary { padding:16px; cursor:pointer; }.rio-index-filter-fallback>div { padding:20px; }
.rio-index-dialog { width:min(540px,calc(100% - 32px)); max-height:calc(100dvh - 32px); border:0; color:var(--rio-ink,#20344b); background:var(--rio-paper,#fff); padding:0; }.rio-index-dialog[open] { display:flex; flex-direction:column; }.rio-index-dialog .rio-dialog-header { flex-shrink:0; }.rio-index-dialog .rio-dialog-header h2 { font-size:var(--rio-heading-current-size,var(--rio-heading-size,29px)); }.rio-index-dialog .rio-dialog-body { overflow-y:auto; min-height:0; padding:24px; scrollbar-color:var(--rio-accent,#00fe01) var(--rio-paper,#fff); scrollbar-width:thin; }
.rio-index-filter-form { display:grid; gap:20px; }.rio-index-field { display:grid; gap:8px; min-width:0; font-size:14px; }.rio-index-field>span { display:flex; align-items:center; gap:10px; font-weight:600; }.rio-index-field>span .rio-icon { width:18px; height:18px; flex:0 0 18px; }.rio-index-field :is(input,select) { width:100%; }
.rio-index-filter-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding-top:8px; }.rio-index-filter-actions .rio-button { width:100%; text-decoration:none; }
.rio-link-exit-target { padding:16px; border:1px solid var(--rio-line,#dce2e7); background:var(--rio-soft,#f4f6f7); overflow-wrap:anywhere; }
.rio-link-exit-seconds { color:var(--rio-accent,#00fe01); font-weight:700; font-variant-numeric:tabular-nums; }
.rio-index-status { font-size:13px; line-height:1.7; margin:0 0 18px; }.rio-index-status:empty { display:none; }.rio-index-results:focus { outline:none; }
.rio-company-index-list,.rio-event-list { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.rio-company-index-list .rio-index-group { margin-top:0; }
.rio-index-filter-alphabet { display:grid; gap:12px; min-width:0; }.rio-index-filter-alphabet>span { font-size:14px; font-weight:600; }.rio-index-filter-alphabet .rio-alphabet { margin:0; }
.rio-page .entry-content.rio-index-page-content { max-width:none; }
/* Brand identity extends the shared archive/page banner; colours and typography stay global. */
.rio-brand-detail-header { --rio-banner-copy-size:15px; }
.rio-brand-detail-identity { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; min-width:0; margin:0 auto 20px; }
.rio-brand-detail-identity>div { min-width:0; max-width:100%; text-align:left; --rio-banner-eyebrow-align:flex-start; }
.rio-brand-detail-logo { display:block; width:88px; height:88px; flex:0 0 auto; padding:12px; object-fit:contain; border:1px solid var(--rio-line,#dce2e7); background:var(--rio-paper,#fff); }
.rio-brand-detail-identity h1 { margin:0; text-align:left; }
.rio-brand-detail-excerpt { max-width:760px; margin:0 auto; font:var(--rio-content-weight,400) var(--rio-content-size,15px)/1.75 var(--rio-font,system-ui,sans-serif); overflow-wrap:break-word; text-transform:var(--rio-content-transform,none); }
.rio-brand-detail-content { margin:14px 0 32px; }
.rio-brand-detail-header .rio-company-categories { justify-content:center; max-width:900px; margin:24px auto 0; }
.rio-brand-detail-actions { display:flex; justify-content:center; align-items:stretch; flex-wrap:wrap; gap:12px; margin-top:24px; }
.rio-brand-detail-actions .rio-button { max-width:100%; }
.rio-brand-providers-title { margin:14px 0 28px; font:var(--rio-heading-weight,700) var(--rio-heading-current-size,var(--rio-heading-size,30px))/1.2 var(--rio-heading,system-ui,sans-serif); text-transform:var(--rio-heading-transform,uppercase); }
@media(min-width:700px) { .rio-brand-detail-identity { flex-direction:row; gap:24px; margin-bottom:24px; }.rio-brand-detail-logo { width:112px; height:112px; padding:16px; } }
@media(max-width:479px) { .rio-brand-detail-actions .rio-button { width:100%; } }
@media(max-width:819px) { .rio-index-search .rio-index-filter-toggle { --rio-control-py:12px; --rio-control-px:12px; position:relative; width:50px; min-width:50px; flex:0 0 50px; }.rio-index-filter-label { display:none; }.rio-index-filter-toggle .rio-index-filter-toggle>.rio-icon { width:18px; height:18px; flex:0 0 18px; }
.rio-index-filter-count { position:absolute; top:3px; right:3px; min-width:16px; height:16px; padding:0 3px; font-size:9px; } }
@media(max-width:699px) { .rio-index-dialog .rio-dialog-body { padding:18px; }.rio-index-filter-actions { grid-template-columns:1fr; }.rio-index-search input[type=search] { font-size:14px; }.rio-index-status { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .rio-index * { scroll-behavior:auto; } }
