:root{--io-blue:#0072ce;--io-blue-light:#29abe2;--io-blue-dark:#106ba3;--io-text:#1a1a1a;--io-text-muted:#5f6b7a;--io-bg-page:#fff;--io-bg-sidebar:#f7f9fc;--io-border:#e1e6ec;--io-radius:6px;--io-shadow:0 2px 6px rgba(16,42,67,.08)}.io-directory{color:var(--io-text);font-family:inherit;margin:0 auto;max-width:1400px;padding:32px 24px 64px}.io-directory__header{margin-bottom:28px}.io-directory__heading{color:var(--io-text);font-size:28px;font-weight:700;margin:0 0 8px}.io-directory__intro{color:var(--io-text-muted);font-size:16px;max-width:720px}.io-directory__layout{align-items:flex-start;display:flex;gap:28px}.io-sidebar{background:var(--io-bg-sidebar);border:1px solid var(--io-border);border-radius:var(--io-radius);flex:0 0 260px;padding:20px;position:sticky;top:24px}.io-sidebar__mobile-toggle{align-items:center!important;background:transparent!important;border:none!important;border-bottom:1px solid var(--io-border)!important;border-radius:0!important;box-sizing:border-box!important;color:var(--io-text)!important;cursor:pointer!important;display:none!important;font-size:14px!important;font-weight:600!important;justify-content:space-between!important;padding:10px 2px!important;width:100%!important}.io-sidebar__mobile-toggle:hover{color:var(--io-blue)!important}.io-sidebar__mobile-toggle-icon{color:var(--io-text-muted);font-size:16px;line-height:1;transition:transform .15s ease}.io-sidebar__mobile-toggle[aria-expanded=true] .io-sidebar__mobile-toggle-icon{transform:rotate(45deg)}.io-sidebar__search{margin-bottom:20px}.io-search-input{background:#fff;border:1px solid var(--io-border);border-radius:4px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.io-search-input:focus{outline:2px solid var(--io-blue-light);outline-offset:1px}.io-sidebar__filter-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:0 0 12px}.io-sidebar__filter-label{font-size:15px;font-weight:700;margin:0}
/* !important here for the same reason as .io-sidebar__mobile-toggle
   above - the site's global button style was turning this into a
   large blue button instead of a plain text link. */.io-clear-filters{background:none!important;border:none!important;border-radius:0!important;color:var(--io-text-muted)!important;cursor:pointer!important;display:inline!important;font-size:12px!important;font-weight:600!important;padding:0!important;text-decoration:underline!important;white-space:nowrap!important;width:auto!important}.io-clear-filters:hover{color:var(--io-blue)!important}.io-filter-group{margin-bottom:22px}.io-filter-group__title{color:var(--io-text-muted);font-size:13px;font-weight:700;letter-spacing:.03em;margin:0 0 10px;text-transform:uppercase}.io-filter-group--scroll{max-height:220px;overflow-y:auto;padding-right:4px}.io-checkbox{align-items:flex-start;cursor:pointer;display:flex;font-size:14px;gap:8px;line-height:1.3;margin-bottom:10px}.io-checkbox input{accent-color:var(--io-blue);cursor:pointer;margin-top:2px}.io-visually-hidden{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0 0 0 0);white-space:nowrap}.io-results{flex:1;min-width:0}.io-results__meta{margin-bottom:10px}.io-results__count{color:var(--io-text-muted);font-size:14px;margin:0}.io-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.io-active-chip{align-items:center;background:#fff;border:1px solid var(--io-blue-light);border-radius:20px;color:var(--io-blue-dark);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:5px 10px 5px 14px}.io-active-chip:hover{background:var(--io-bg-sidebar)}.io-active-chip__x{color:var(--io-blue);font-size:15px;line-height:1}.io-empty-state{color:var(--io-text-muted);font-size:15px;padding:40px 0;text-align:center}.io-card-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.io-card{background:#fff;border:1px solid var(--io-blue-light);border-radius:var(--io-radius);box-shadow:var(--io-shadow);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .15s ease,transform .15s ease}.io-card:hover{box-shadow:0 6px 16px rgba(16,42,67,.14);transform:translateY(-2px)}.io-card__logo-wrap{align-items:center;background:#f2f5f9;display:flex;justify-content:center;min-height:130px;padding:24px 16px;position:relative}.io-card__logo{max-height:90px;max-width:100%;object-fit:contain}.io-card__logo--placeholder{color:var(--io-text-muted);font-size:18px;font-weight:700}.io-badge{background:var(--io-blue);border-radius:20px;bottom:8px;color:#fff;font-size:11px;font-weight:600;left:8px;line-height:1.3;padding:4px 8px;position:absolute;right:8px;text-align:center}.io-card__body{flex:1;padding:16px 16px 8px}.io-card__name{font-size:17px;font-weight:700;margin:0 0 4px}.io-card__category{color:var(--io-blue-dark);font-size:13px;font-weight:600;margin:0 0 8px}.io-card__value-prop{color:var(--io-text-muted);font-size:14px;line-height:1.4;margin:0}.io-card__actions{display:flex;gap:8px;padding:12px 16px 16px}.io-btn{background:#fff;border:1px solid var(--io-blue);border-radius:4px;color:var(--io-blue);cursor:pointer;display:inline-block;font-size:13px;font-weight:600;padding:8px 14px;text-align:center;text-decoration:none;transition:background .15s ease,color .15s ease}.io-btn:hover{background:var(--io-blue);color:#fff}.io-btn--close{border-color:var(--io-border);color:var(--io-text-muted)}.io-btn--close:hover{background:var(--io-border);color:var(--io-text)}.io-modal{align-items:center;display:none;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.io-modal.is-open{display:flex}.io-modal__backdrop{background:rgba(10,20,40,.55);inset:0;position:absolute}.io-modal__dialog{background:#fff;border:2px solid var(--io-blue-light);border-radius:var(--io-radius);box-shadow:0 12px 32px rgba(0,0,0,.25);max-height:85vh;max-width:560px;opacity:0;overflow-y:auto;padding:32px;position:relative;transform:scale(.97);transition:opacity .15s ease,transform .15s ease;width:100%}.io-modal.is-open .io-modal__dialog{opacity:1;transform:scale(1)}.io-modal__close{align-items:center;background:none;border:none;border-radius:50%;color:var(--io-text-muted);cursor:pointer;display:flex;font-size:26px;height:32px;justify-content:center;line-height:1;position:absolute;right:16px;top:12px;width:32px}.io-modal__close:hover{background:var(--io-bg-sidebar);color:var(--io-text)}.io-modal__logo-wrap{margin-bottom:16px;text-align:center}.io-modal__logo{max-height:110px;max-width:220px;object-fit:contain}.io-modal__name{font-size:22px;font-weight:700;margin:0 0 4px;text-align:center}.io-modal__contacts{margin:0 0 16px}.io-contact-row{align-items:baseline;display:flex;flex-wrap:wrap;font-size:14px;gap:6px;justify-content:center;margin-bottom:4px}.io-contact-row__name{color:var(--io-text);font-weight:600}.io-contact-row__email{color:var(--io-blue);text-decoration:none}.io-contact-row__email:hover{text-decoration:underline}.io-modal__tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}.io-tag{background:var(--io-bg-sidebar);border:1px solid var(--io-border);border-radius:20px;color:var(--io-text-muted);display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.io-modal__value-prop{border-bottom:1px solid var(--io-border);font-size:15px;line-height:1.5;margin:0 0 20px;padding-bottom:20px}.io-modal__actions{border-top:1px solid var(--io-border);display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding-top:20px}@media (max-width:860px){.io-directory__layout{flex-direction:column}.io-sidebar{box-sizing:border-box;flex:1 1 auto;position:static;width:100%}.io-sidebar__mobile-toggle{display:flex!important}.io-sidebar__content{display:none;margin-top:14px}.io-sidebar__content.is-open{display:block}}@media (max-width:600px){.io-modal{padding:0}.io-modal__dialog{border-radius:0;border-width:0;height:100%;max-height:100%;max-width:100%;padding:24px 20px 28px;width:100%}.io-modal__name{font-size:19px}.io-modal__actions{flex-direction:column}.io-modal__actions .io-btn{width:100%}}.io-modal__actions .io-btn{background:#fff!important;border:1px solid var(--io-blue)!important;border-radius:4px!important;color:var(--io-blue)!important;display:inline-block!important;font-weight:600!important;padding:8px 14px!important;text-decoration:none!important}.io-modal__actions .io-btn:hover{background:var(--io-blue)!important;color:#fff!important}.io-modal__actions .io-btn--close{border-color:var(--io-border)!important;color:var(--io-text-muted)!important}.io-modal__actions .io-btn[hidden]{display:none!important}