/* Shared mobile directory authority.
   Six index routes use one filter language and a two-up card rhythm. */
@media (max-width: 768px) {
  :is(
    body.company-directory-page,
    body.product-directory-page,
    body.supplier-directory-page,
    body.component-directory-page,
    body.research-artifact-page,
    body.product-research-page
  ) {
    --directory-mobile-control: rgba(var(--mono-soft-rgb, 242,240,234), 1);
    --directory-mobile-card: rgba(var(--mono-paper-rgb, 251,250,247), 1);
    --directory-mobile-ink: rgba(var(--mono-ink-rgb, 23,23,19), 1);
    --directory-mobile-muted: rgba(var(--mono-secondary-rgb, 119,116,109), 1);
  }

  /* Search, sort and filter controls use the same readable Inter treatment. */
  :is(
    body.company-directory-page .directory-toolbar,
    body.company-directory-page .directory__toolbar,
    body.product-directory-page .directory__toolbar,
    body.product-directory-page .directory-toolbar,
    body.supplier-directory-page .supplier-searchbar,
    body.component-directory-page .component-searchbar,
    body.research-artifact-page .research-toolbar,
    body.research-artifact-page .supplier-searchbar,
    body.product-research-page .bar,
    body.product-research-page .toolbar
  ) :is(input[type="search"], input[type="text"], select, .k-input, .k-select) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 38px 0 14px !important;
    border: 0 !important;
    border-radius: 14px !important;
    outline: 0 !important;
    background-color: var(--directory-mobile-control) !important;
    color: var(--directory-mobile-ink) !important;
    box-shadow: none !important;
    font: 600 13px/1.2 Inter, system-ui, sans-serif !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  :is(
    body.company-directory-page .directory-toolbar,
    body.company-directory-page .directory__toolbar,
    body.product-directory-page .directory__toolbar,
    body.product-directory-page .directory-toolbar,
    body.supplier-directory-page .supplier-searchbar,
    body.component-directory-page .component-searchbar,
    body.research-artifact-page .research-toolbar,
    body.research-artifact-page .supplier-searchbar,
    body.product-research-page .bar,
    body.product-research-page .toolbar
  ) :is(input, select):is(:hover, :focus-visible) {
    background-color: rgba(var(--mono-soft-rgb, 235,233,227), 1) !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  /* Product/company search is a wrapper plus an input. On small screens the
     desktop wrapper treatment must disappear or it reads as a second,
     offset field around the real control. */
  :is(
    body.company-directory-page,
    body.product-directory-page
  ) .directory-search {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  :is(
    body.company-directory-page,
    body.product-directory-page
  ) .directory-search:is(:hover, :focus, :focus-within) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  :is(
    body.company-directory-page,
    body.product-directory-page
  ) .directory-search::before,
  :is(
    body.company-directory-page,
    body.product-directory-page
  ) .directory-search::after {
    content: none !important;
    display: none !important;
  }

  :is(
    body.company-directory-page,
    body.product-directory-page
  ) .directory-search :is(input, .k-input) {
    width: 100% !important;
    max-width: none !important;
    height: 44px !important;
    line-height: 1.2 !important;
  }

  :is(
    body.company-directory-page,
    body.product-directory-page,
    body.supplier-directory-page,
    body.component-directory-page,
    body.research-artifact-page,
    body.product-research-page
  ) :is(.k-label, .toolbar-label, .directory-sort-label, .sort-label, label) {
    color: var(--directory-mobile-muted) !important;
    font: 700 10px/1.2 Inter, system-ui, sans-serif !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
  }

  :is(
    body.product-directory-page,
    body.supplier-directory-page,
    body.component-directory-page,
    body.research-artifact-page,
    body.product-research-page
  ) :is(.filter-drawer-toggle, .mobile-filter-btn) {
    min-height: 44px !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--directory-mobile-ink) !important;
    color: rgba(var(--mono-paper-rgb, 255,255,255), 1) !important;
    box-shadow: none !important;
    font: 700 12px/1 Inter, system-ui, sans-serif !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  /* Supplier and component toolbars use the same three-row mobile rhythm as
     Products: search; sort/direction/submit; full-width filters. */
  :is(
    body.supplier-directory-page .supplier-searchbar,
    body.component-directory-page .component-searchbar
  ) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px 82px !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  :is(
    body.supplier-directory-page .supplier-searchbar,
    body.component-directory-page .component-searchbar
  ) > :first-child {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  :is(
    body.supplier-directory-page .supplier-searchbar,
    body.component-directory-page .component-searchbar
  ) > .directory-sort {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--directory-mobile-card) !important;
    box-shadow: none !important;
  }

  :is(
    body.supplier-directory-page .supplier-searchbar,
    body.component-directory-page .component-searchbar
  ) > .directory-sort-direction {
    grid-column: 2 !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--directory-mobile-card) !important;
    box-shadow: none !important;
  }

  :is(
    body.supplier-directory-page .supplier-searchbar,
    body.component-directory-page .component-searchbar
  ) > .submit-source {
    grid-column: 3 !important;
    width: 82px !important;
    min-width: 82px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--directory-mobile-ink) !important;
    color: rgba(var(--mono-paper-rgb, 255,255,255), 1) !important;
    box-shadow: none !important;
    font: 700 11px/1 Inter, system-ui, sans-serif !important;
  }

  :is(
    body.supplier-directory-page .supplier-searchbar,
    body.component-directory-page .component-searchbar
  ) > .filter-drawer-toggle {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    border-radius: 14px !important;
  }

  :is(
    body.supplier-directory-page .supplier-searchbar,
    body.component-directory-page .component-searchbar
  ) > .directory-view-toggle {
    display: none !important;
  }

  /* Beat the page-embedded compact button dimensions. */
  html body.supplier-directory-page .supplier-main .supplier-searchbar > button.submit-source,
  html body.component-directory-page .component-main .component-searchbar > button.submit-source,
  html body.supplier-directory-page .supplier-main .supplier-searchbar > button.filter-drawer-toggle,
  html body.component-directory-page .component-main .component-searchbar > button.filter-drawer-toggle {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin-block: 0 !important;
    border-radius: 14px !important;
  }

  html body.supplier-directory-page .supplier-main .supplier-searchbar > button#directory-submit-btn.submit-source,
  html body.component-directory-page .component-main .component-searchbar > button#directory-submit-btn.submit-source,
  html body.supplier-directory-page .supplier-main .supplier-searchbar > button#filter-drawer-toggle.filter-drawer-toggle,
  html body.component-directory-page .component-main .component-searchbar > button#filter-drawer-toggle.filter-drawer-toggle {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding-block: 0 !important;
  }

  /* Two cards across on every directory, including the narrowest supported phone. */
  html body.company-directory-page #eco-grid.eco-card-grid:not(.eco-company-table-mode),
  html body.product-directory-page #directory-results.directory__results:not(.directory__results--table),
  html body.supplier-directory-page #card-grid.card-grid,
  html body.component-directory-page #directory-results.directory__results:not(.directory__results--table),
  html body.research-artifact-page #artifact-results.card-grid,
  html body.product-research-page .grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  :is(
    body.company-directory-page .eco-company-card,
    body.product-directory-page #directory-results .product-card,
    body.supplier-directory-page #card-grid .supplier-card,
    body.component-directory-page #directory-results .product-card,
    body.research-artifact-page #artifact-results .research-artifact-card,
    body.product-research-page .grid .card
  ) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: var(--directory-mobile-card) !important;
    box-shadow: none !important;
  }

  /* One compact heart overlay across every directory card. Counts remain in
     the data model and accessible state but never expand the mobile control. */
  :is(
    body.company-directory-page .eco-company-card,
    body.product-directory-page #directory-results .product-card,
    body.supplier-directory-page #card-grid .supplier-card,
    body.component-directory-page #directory-results .product-card,
    body.research-artifact-page #artifact-results .research-artifact-card,
    body.product-research-page .grid .card
  ) {
    position: relative !important;
  }

  :is(
    body.company-directory-page .eco-company-card,
    body.product-directory-page #directory-results .product-card,
    body.supplier-directory-page #card-grid .supplier-card,
    body.component-directory-page #directory-results .product-card,
    body.research-artifact-page #artifact-results .research-artifact-card,
    body.product-research-page .grid .card
  ) :is(.product-card-watch, .research-card-watch, .artifact-save.k-watch) {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    inset-inline-start: auto !important;
    z-index: 6 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(var(--mono-soft-rgb, 250,236,232), 0.94) !important;
    color: #a64b3e !important;
    box-shadow: 0 3px 10px rgba(23, 23, 19, .1) !important;
    backdrop-filter: blur(7px) !important;
  }

  :is(
    body.company-directory-page .eco-company-card,
    body.product-directory-page #directory-results .product-card,
    body.supplier-directory-page #card-grid .supplier-card,
    body.component-directory-page #directory-results .product-card,
    body.research-artifact-page #artifact-results .research-artifact-card,
    body.product-research-page .grid .card
  ) :is(.product-card-watch, .research-card-watch, .artifact-save.k-watch) .k-watch__icon,
  :is(
    body.company-directory-page .eco-company-card,
    body.product-directory-page #directory-results .product-card,
    body.supplier-directory-page #card-grid .supplier-card,
    body.component-directory-page #directory-results .product-card,
    body.research-artifact-page #artifact-results .research-artifact-card,
    body.product-research-page .grid .card
  ) :is(.product-card-watch, .research-card-watch, .artifact-save.k-watch)[aria-pressed="true"] .k-watch__icon {
    display: inline-block !important;
    margin: 0 !important;
    color: currentColor !important;
    font-size: 14px !important;
    line-height: 1 !important;
    transform: none !important;
  }

  :is(
    body.company-directory-page .eco-company-card,
    body.product-directory-page #directory-results .product-card,
    body.supplier-directory-page #card-grid .supplier-card,
    body.component-directory-page #directory-results .product-card,
    body.research-artifact-page #artifact-results .research-artifact-card,
    body.product-research-page .grid .card
  ) :is(.product-card-watch, .research-card-watch, .artifact-save.k-watch) :is(.k-watch__label, .k-watch__count) {
    display: none !important;
  }

  :is(
    body.company-directory-page .eco-company-card,
    body.product-directory-page #directory-results .product-card,
    body.supplier-directory-page #card-grid .supplier-card,
    body.component-directory-page #directory-results .product-card,
    body.research-artifact-page #artifact-results .research-artifact-card,
    body.product-research-page .grid .card
  ) :is(.product-card-watch, .research-card-watch, .artifact-save.k-watch)[aria-pressed="true"] {
    background: rgba(241, 210, 203, .96) !important;
    color: #8f342a !important;
  }

  :is(
    body.company-directory-page .eco-company-card__visual,
    body.product-directory-page #directory-results .product-card__media,
    body.supplier-directory-page #card-grid .supplier-card__visual,
    body.component-directory-page #directory-results .product-card__media,
    body.research-artifact-page #artifact-results .supplier-card__visual,
    body.product-research-page .grid .card .media
  ) {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
  }

  :is(
    body.company-directory-page .eco-company-card__body,
    body.product-directory-page #directory-results .product-card__body,
    body.supplier-directory-page #card-grid .supplier-card__body,
    body.component-directory-page #directory-results .product-card__body,
    body.research-artifact-page #artifact-results .supplier-card__body,
    body.product-research-page .grid .card .body
  ) {
    min-width: 0 !important;
    padding: 12px !important;
  }

  :is(
    body.company-directory-page .eco-company-card__name,
    body.product-directory-page #directory-results .product-card__name,
    body.supplier-directory-page #card-grid .supplier-card__name,
    body.component-directory-page #directory-results .product-card__name,
    body.research-artifact-page #artifact-results .supplier-card__name,
    body.product-research-page .grid .card h2,
    body.product-research-page .grid .card h3
  ) {
    overflow-wrap: anywhere !important;
    font-size: 15px !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em !important;
  }

  body.company-directory-page .eco-company-card__meta-grid {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  /* Product/company search has a legacy outer pill. Keep that wrapper
     invisible so focus never produces a doubled green/grey halo. */
  html body.company-directory-page .directory-search,
  html body.product-directory-page .directory-search,
  html body.company-directory-page .directory-search:is(:hover, :focus, :focus-within),
  html body.product-directory-page .directory-search:is(:hover, :focus, :focus-within) {
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  html body.company-directory-page .directory-search input,
  html body.product-directory-page .directory-search input,
  html body.company-directory-page .directory-search input:is(:hover, :focus, :focus-visible),
  html body.product-directory-page .directory-search input:is(:hover, :focus, :focus-visible) {
    border:0 !important;
    border-radius:14px !important;
    outline:0 !important;
    background:var(--directory-mobile-control) !important;
    box-shadow:none !important;
  }
}

/* Product Research mobile finish: the custom sort owns its full grid cell so
   the selected label is readable beside the three compact actions. */
@media (max-width: 720px) {
  html body.product-research-page main.main .toolbar #sort-wrapper.sort {
    padding: 0 !important;
  }

  html body.product-research-page main.main .toolbar #sort-wrapper.sort > .korthos-select,
  html body.product-research-page main.main .toolbar #sort-wrapper.sort > .korthos-select > .korthos-select__button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}

/* Research Artifacts mobile parity: the complete control set occupies exactly
   two rows: search, then sort/window/info/submit/filters. */
@media (max-width: 768px) {
  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 34px 56px 56px !important;
    grid-template-rows: 42px 38px !important;
    gap: 8px 6px !important;
    width: 100% !important;
    height: 88px !important;
    min-height: 88px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .field--search {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .field--sort {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .field--window {
    display: none !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .artifact-view-toggle {
    display: none !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .research-coverage-control {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 34px !important;
    height: 38px !important;
    margin: 0 !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .research-coverage-trigger {
    width: 34px !important;
    min-width: 34px !important;
    height: 38px !important;
    min-height: 38px !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .research-submit-top {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .filter-drawer-toggle {
    grid-column: 4 !important;
    grid-row: 2 !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar :is(.field, input, select, .research-submit-top, .filter-drawer-toggle) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .field--search,
  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .field--search input {
    height: 42px !important;
    min-height: 42px !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .field--search input {
    border: 1px solid rgba(var(--mono-ink-rgb, 23,23,19), 0.12) !important;
    background: rgba(var(--mono-paper-rgb, 255,254,250), 1) !important;
    box-shadow: 0 1px 2px rgba(23, 23, 19, .04) !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar :is(.research-submit-top, .filter-drawer-toggle) {
    padding: 0 6px !important;
    font-size: 9px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  html body.research-artifact-page.supplier-directory-page.filters-open #artifact-sidebar.supplier-sidebar.research-sidebar {
    left: 0 !important;
    right: auto !important;
    transform: translateX(0) !important;
  }

  html body.research-artifact-page.supplier-directory-page.filters-open {
    overflow: hidden !important;
  }

  html body.research-artifact-page.supplier-directory-page #artifact-results .research-artifact-card .k-watch.product-card-watch {
    top: 8px !important;
    right: 8px !important;
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(var(--mono-soft-rgb, 250,236,232), 0.96) !important;
    color: #a64b3e !important;
    box-shadow: 0 3px 10px rgba(23, 23, 19, .1) !important;
  }

  html body.research-artifact-page.supplier-directory-page #artifact-results .research-artifact-card .k-watch.product-card-watch .k-watch__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }

  html body.research-artifact-page.supplier-directory-page #artifact-results .research-artifact-card .k-watch.product-card-watch .k-watch__icon::before {
    content: "\2661" !important;
    display: block !important;
    color: #a64b3e !important;
    font: 400 17px/1 Arial, sans-serif !important;
    transform: translateY(-.5px) !important;
  }

  html body.research-artifact-page.supplier-directory-page #artifact-results .research-artifact-card .k-watch.product-card-watch[aria-pressed="true"] .k-watch__icon::before {
    content: "\2665" !important;
    color: #8f342a !important;
    font-size: 15px !important;
  }

  html body.research-artifact-page.supplier-directory-page #artifact-results.card-grid .research-artifact-card .k-watch.product-card-watch {
    top:8px !important;
    right:8px !important;
    width:30px !important;
    min-width:30px !important;
    max-width:30px !important;
    height:30px !important;
    min-height:30px !important;
    max-height:30px !important;
  }

  html body.research-artifact-page.supplier-directory-page #artifact-results.card-grid .research-artifact-card .k-watch.product-card-watch .k-watch__icon,
  html body.research-artifact-page.supplier-directory-page #artifact-results.card-grid .research-artifact-card .k-watch.product-card-watch[aria-pressed="true"] .k-watch__icon {
    position:static !important;
    inset:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:100% !important;
    color:#a64b3e !important;
    font:400 17px/1 Arial,sans-serif !important;
    transform:translateY(-.5px) !important;
  }

  html body.research-artifact-page.supplier-directory-page #artifact-results.card-grid .research-artifact-card .k-watch.product-card-watch .k-watch__icon::before,
  html body.research-artifact-page.supplier-directory-page #artifact-results.card-grid .research-artifact-card .k-watch.product-card-watch[aria-pressed="true"] .k-watch__icon::before {
    content:none !important;
    display:none !important;
  }

  html body.research-artifact-page.supplier-directory-page #artifact-results.card-grid .research-artifact-card .k-watch.product-card-watch :is(.k-watch__label,.k-watch__count),
  html body.research-artifact-page.supplier-directory-page #artifact-results.card-grid .research-artifact-card .k-watch.product-card-watch[aria-pressed="true"] :is(.k-watch__label,.k-watch__count) {
    display:none !important;
  }
}

/* Research artifacts are records, not product showcases. On phones the late
   shared authority presents them as compact thumbnail-led list rows. */
@media (max-width: 620px) {
  html body.research-artifact-page #artifact-results.card-grid,
  html body.research-artifact-page #artifact-results.artifact-grid,
  html body.research-artifact-page #artifact-results.artifact-grid.card-grid {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:9px !important;
  }

  html body.research-artifact-page #artifact-results .supplier-card.artifact-card.research-artifact-card {
    display:grid !important;
    grid-template-columns:94px minmax(0,1fr) !important;
    grid-template-rows:auto !important;
    width:100% !important;
    min-height:156px !important;
    overflow:hidden !important;
    border-radius:17px !important;
    background:rgba(var(--mono-paper-rgb, 251,250,247), 1) !important;
  }

  html body.research-artifact-page #artifact-results .research-artifact-card .supplier-card__visual,
  html body.research-artifact-page #artifact-results .research-artifact-card:not(.artifact-card--has-image) .supplier-card__visual {
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:start !important;
    width:94px !important;
    min-width:94px !important;
    height:80px !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
    border-radius:17px 0 0 17px !important;
    background:rgba(var(--mono-soft-rgb, 238,236,230), 1) !important;
  }

  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__image {
    width:100% !important;
    height:100% !important;
    min-height:156px !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__badge-row,
  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-actions {
    display:none !important;
  }

  html body.research-artifact-page #artifact-results .research-artifact-card .supplier-card__body {
    box-sizing:border-box !important;
    display:flex !important;
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    min-height:156px !important;
    padding:13px 40px 12px 13px !important;
    background:rgba(var(--mono-paper-rgb, 251,250,247), 1) !important;
  }

  html body.research-artifact-page #artifact-results .research-artifact-card .supplier-card__body-link {
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    flex-direction:column !important;
    gap:8px !important;
  }

  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__body-title {
    display:-webkit-box !important;
    margin:0 !important;
    overflow:hidden !important;
    color:rgba(var(--mono-ink-rgb, 23,23,19), 1) !important;
    font-size:13px !important;
    font-weight:750 !important;
    line-height:1.2 !important;
    letter-spacing:-.018em !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
  }

  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__record {
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    margin-top:auto !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:6px 8px !important;
  }

  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__field,
  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__field--source {
    display:flex !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    align-items:center !important;
    flex:0 0 auto !important;
    gap:6px !important;
  }

  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__field > span { display:none !important; }
  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__field--source {
    width:100% !important;
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:2px !important;
  }

  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__field--source strong,
  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__field--source em {
    display:block !important;
    width:100% !important;
    overflow:hidden !important;
    color:rgba(var(--mono-secondary-rgb, 111,109,103), 1) !important;
    font-style:normal !important;
    font-weight:500 !important;
    line-height:1.2 !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__field--source strong { font-size:10.5px !important; }
  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__field--source em { color:rgba(var(--mono-muted-rgb, 145,143,136), 1) !important; font-size:9.5px !important; }

  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__field--type strong {
    min-height:22px !important;
    padding:5px 8px !important;
    border:0 !important;
    border-radius:999px !important;
    font-size:8.5px !important;
    line-height:1 !important;
  }

  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__field--context strong {
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:rgba(var(--mono-secondary-rgb, 87,85,79), 1) !important;
    font-size:9px !important;
    font-weight:650 !important;
  }

  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-card__field--capability {
    width:100% !important;
    flex:0 0 100% !important;
  }
  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-capability-pills {
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    flex-wrap:nowrap !important;
    gap:5px !important;
    overflow:hidden !important;
  }
  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-capability-pill { min-width:0 !important; }
  html body.research-artifact-page #artifact-results .research-artifact-card .artifact-capability-pill strong {
    display:block !important;
    min-height:20px !important;
    padding:4px 7px !important;
    overflow:hidden !important;
    border:0 !important;
    border-radius:999px !important;
    font-size:7.5px !important;
    line-height:1.1 !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  html body.research-artifact-page.supplier-directory-page #artifact-results.card-grid .research-artifact-card .k-watch.product-card-watch {
    top:9px !important;
    right:9px !important;
    width:28px !important;
    min-width:28px !important;
    max-width:28px !important;
    height:28px !important;
    min-height:28px !important;
    max-height:28px !important;
  }
}

@media (max-width: 620px) {
  html body.research-artifact-page main #artifact-results.card-grid .supplier-card.artifact-card.research-artifact-card {
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) !important;
    grid-template-rows:auto !important;
    min-height:156px !important;
    overflow:hidden !important;
    border-radius:17px !important;
    background:rgba(var(--mono-paper-rgb, 255,253,250), 1) !important;
  }

  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .supplier-card__visual,
  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card:not(.artifact-card--has-image) .supplier-card__visual {
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:start !important;
    width:72px !important;
    min-width:72px !important;
    max-width:94px !important;
    height:80px !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    padding:10px 6px !important;
    align-items:flex-start !important;
    justify-content:center !important;
    border-radius:17px 0 0 17px !important;
    background:transparent !important;
  }

  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .artifact-card__image {
    position:static !important;
    width:60px !important;
    height:60px !important;
    min-height:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    object-fit:contain !important;
    object-position:center !important;
  }

  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .supplier-card__body {
    display:flex !important;
    grid-column:2 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    min-height:156px !important;
    padding:13px 40px 12px 13px !important;
  }

  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .supplier-card__body-link {
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    flex-direction:column !important;
    gap:8px !important;
  }

  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .artifact-card__body-title {
    display:-webkit-box !important;
    margin:0 !important;
    overflow:hidden !important;
    font-size:13px !important;
    line-height:1.2 !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
  }

  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .artifact-card__record {
    display:flex !important;
    width:100% !important;
    min-width:0 !important;
    margin-top:auto !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:6px 8px !important;
  }

  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .artifact-card__field {
    display:flex !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    align-items:center !important;
    flex:0 0 auto !important;
    gap:6px !important;
  }

  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .artifact-card__field > span { display:none !important; }
  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .artifact-card__field--source {
    display:flex !important;
    width:100% !important;
    align-items:flex-start !important;
    flex:0 0 100% !important;
    flex-direction:column !important;
    gap:2px !important;
  }

  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .artifact-card__field--source strong,
  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .artifact-card__field--source em {
    display:block !important;
    width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .artifact-card__field--context strong {
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
  }

  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .artifact-card__field--capability {
    width:100% !important;
    flex:0 0 100% !important;
  }

  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .artifact-actions,
  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .artifact-card__badge-row {
    display:none !important;
  }
}

/* Company/product directory control composition. This is mobile-only and is
   kept in the runtime-loaded authority stylesheet so desktop stays unchanged. */
@media (max-width: 720px) {
  html body.company-directory-page .directory-toolbar,
  html body.product-directory-page .directory-toolbar {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 34px 68px 68px !important;
    gap:6px !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 0 10px !important;
    padding:0 !important;
    border:0 !important;
  }

  html body.company-directory-page .directory-toolbar .directory-search,
  html body.product-directory-page .directory-toolbar .directory-search {
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    width:100% !important;
    min-width:0 !important;
    height:36px !important;
    min-height:36px !important;
    margin:0 !important;
    padding:0 !important;
  }

  html body.company-directory-page .directory-toolbar #eco-search,
  html body.product-directory-page .directory-toolbar #filter-search {
    width:100% !important;
    min-width:0 !important;
    height:36px !important;
    min-height:36px !important;
    padding:0 12px !important;
    border-radius:10px !important;
    font-size:11px !important;
  }

  html body.company-directory-page .directory-toolbar #eco-sort-wrapper,
  html body.product-directory-page .directory-toolbar #directory-sort-wrapper {
    grid-column:1 !important;
    grid-row:2 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:36px !important;
    min-height:36px !important;
    margin:0 !important;
    padding:0 9px !important;
  }

  html body.company-directory-page .directory-toolbar #eco-sort-direction,
  html body.product-directory-page .directory-toolbar #product-sort-direction {
    grid-column:2 !important;
    grid-row:2 !important;
    width:34px !important;
    min-width:34px !important;
    max-width:none !important;
    height:36px !important;
    min-height:36px !important;
    margin:0 !important;
    padding:0 !important;
  }

  html body.company-directory-page .directory-toolbar #eco-submit-btn,
  html body.product-directory-page .directory-toolbar #directory-submit-btn,
  html body.company-directory-page .directory-toolbar #eco-filter-toggle,
  html body.product-directory-page .directory-toolbar #filter-drawer-toggle {
    box-sizing:border-box !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:68px !important;
    min-width:68px !important;
    max-width:none !important;
    height:36px !important;
    min-height:36px !important;
    margin:0 !important;
    padding:0 7px !important;
    border-radius:10px !important;
    font:700 10px/1 Inter,system-ui,sans-serif !important;
  }

  html body.company-directory-page .directory-toolbar #eco-submit-btn,
  html body.product-directory-page .directory-toolbar #directory-submit-btn {
    grid-column:3 !important;
    grid-row:2 !important;
  }

  html body.company-directory-page .directory-toolbar #eco-filter-toggle,
  html body.product-directory-page .directory-toolbar #filter-drawer-toggle {
    grid-column:4 !important;
    grid-row:2 !important;
    border:1px solid rgba(var(--mono-ink-rgb, 20,20,16), 0.12) !important;
    background:rgba(var(--mono-paper-rgb, 255,255,255), 1) !important;
    color:rgba(var(--mono-ink-rgb, 23,23,19), 1) !important;
    box-shadow:0 1px 2px rgba(20,20,16,.035) !important;
  }
}

/* Research Artifacts mobile finish: establish control hierarchy and keep
   compact row imagery visibly rounded inside the neutral media rail. */
@media (max-width: 768px) {
  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .field--search input {
    background:rgba(var(--mono-paper-rgb, 255,253,250), 1) !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .field--sort select {
    background:rgba(var(--mono-soft-rgb, 239,238,233), 1) !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .field--window select {
    background:#e6edf8 !important;
    color:#244766 !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .research-submit-top {
    background:rgba(var(--mono-ink-rgb, 23,23,19), 1) !important;
    color:rgba(var(--mono-paper-rgb, 255,255,255), 1) !important;
  }

  html body.research-artifact-page.supplier-directory-page main .supplier-searchbar.research-toolbar .filter-drawer-toggle {
    background:rgba(var(--mono-signal-wash-rgb, 223,236,229), 1) !important;
    color:rgba(var(--mono-signal-5-rgb, 36,85,63), 1) !important;
  }

  html body.research-artifact-page.supplier-directory-page main .result-count {
    display:inline-flex !important;
    width:fit-content !important;
    min-height:24px !important;
    margin-left:auto !important;
    padding:0 10px !important;
    align-items:center !important;
    border-radius:999px !important;
    background:#e6edf8 !important;
    color:#36536f !important;
    font-weight:750 !important;
  }

  html body.research-artifact-page main #artifact-results.card-grid .research-artifact-card .artifact-card__image {
    width:60px !important;
    height:34px !important;
    min-height:34px !important;
    aspect-ratio:16 / 9 !important;
    overflow:hidden !important;
    border-radius:10px !important;
    clip-path:inset(0 round 10px) !important;
    object-fit:cover !important;
  }
}
