.bastion-v2-model-catalog {
  color: #20343f;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
  margin-block: 28px;
  border-top: 1px solid #ccdce1;
  padding-top: 24px;
  scroll-margin-top: 112px;
}

.bastion-v2-model-catalog__heading { display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.bastion-v2-model-catalog__label { font-size: 12px; font-weight: 700; text-transform: uppercase; color: #35697d; }
.bastion-v2-model-catalog__heading h2 { font-size: 30px; font-weight: 700; line-height: 1.2; margin: 4px 0 12px; overflow-wrap: anywhere; }
.bastion-v2-model-catalog__count { font-size: 14px; white-space: nowrap; }
.bastion-v2-model-catalog__notice { font-size: 14px; margin: 8px 0; color: #536872; }
.bastion-v2-model-catalog__index ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; list-style: none; padding: 0; margin: 12px 0 24px; }
.bastion-v2-model-catalog__index li { min-width: 0; border-bottom: 1px solid #e1e9ec; }
.bastion-v2-model-catalog__search { display: grid; gap: 6px; min-width: 0; }
.bastion-v2-model-catalog__search label { font-size: 13px; font-weight: 600; }
.bastion-v2-model-catalog__search input { box-sizing: border-box; width: 100%; min-height: 44px; border: 1px solid #a8bbc2; border-radius: 4px; padding: 8px 12px; font: inherit; color: inherit; background: #fff; }
.bastion-v2-model-catalog__results { display: block; min-height: 21px; margin-bottom: 12px; font-size: 14px; }
.bastion-v2-model-catalog__reset { min-height: 44px; max-width: 100%; padding: 8px 12px; border: 1px solid #a8bbc2; border-radius: 4px; background: #fff; color: #005369; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.bastion-v2-model-catalog__group { border-top: 1px solid #ccdce1; scroll-margin-top: 112px; }
.bastion-v2-model-catalog__group-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 20px; line-height: 1.3; margin: 20px 0 12px; font-weight: 600; }
.bastion-v2-model-catalog__group-heading > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.bastion-v2-model-catalog__group-heading > span:last-child { font-size: 13px; color: #536872; flex-shrink: 0; }
.bastion-v2-model-catalog__summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin-block: 18px; }
.bastion-v2-model-catalog__summary-row { min-width: 0; border-top: 1px solid #ccdce1; padding-block: 8px; }
.bastion-v2-model-catalog__section-link { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 12px; min-height: 44px; font-size: 14px; font-weight: 600; }
.bastion-v2-model-catalog__section-link span:last-child { font-size: 12px; font-weight: 400; color: #536872; white-space: nowrap; }
.bastion-v2-model-catalog__related { display: inline-flex; align-items: center; min-height: 44px; margin-block: 8px; font-size: 14px; }
.bastion-v2-model-catalog__group > summary { display: flex; gap: 12px; align-items: center; justify-content: space-between; min-height: 48px; cursor: pointer; font-weight: 600; }
.bastion-v2-model-catalog__group > summary::before { content: '+'; flex: 0 0 14px; color: #00677e; }
.bastion-v2-model-catalog__group[open] > summary::before { content: '-'; }
.bastion-v2-model-catalog__group > summary > span:first-child { flex: 1; overflow-wrap: anywhere; }
.bastion-v2-model-catalog__group > summary > span:last-child { font-size: 13px; color: #536872; }
.bastion-v2-model-catalog__rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.bastion-v2-model-catalog__row { min-width: 0; border-top: 1px solid #e1e9ec; padding: 10px 0; }
.bastion-v2-model-catalog a { color: #005369; text-underline-offset: 3px; overflow-wrap: anywhere; }
.bastion-v2-model-catalog__model { display: flex; flex-wrap: wrap; gap: 3px 10px; align-items: baseline; min-height: 44px; }
.bastion-v2-model-catalog__model code { font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.bastion-v2-model-catalog__model span { font-size: 12px; color: #536872; }
.bastion-v2-model-catalog__documents { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; font-size: 13px; }
.bastion-v2-model-catalog__documents a { display: inline-flex; align-items: center; min-height: 44px; }
.bastion-v2-model-catalog__review { font-size: 13px; color: #536872; }
.bastion-v2-model-catalog__review > summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.bastion-v2-model-catalog__review ul { padding-left: 18px; }
.bastion-v2-model-catalog__document-heading { font-size: 16px; line-height: 1.4; color: #20343f; margin: 16px 0 8px; }
.bastion-v2-model-catalog__conditions { margin: 8px 0; overflow-wrap: anywhere; }
.bastion-v2-model-catalog__conditions > div { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 4px 12px; padding-block: 4px; }
.bastion-v2-model-catalog__conditions dt { font-weight: 600; }
.bastion-v2-model-catalog__conditions dd { margin: 0; min-width: 0; }
.bastion-v2-model-catalog__conditions dd ul { margin-block: 0; }
.bastion-v2-model-catalog__limits { border-left: 3px solid #a56c13; padding-left: 12px; margin-block: 12px; }
.bastion-v2-model-catalog__limits .bastion-v2-model-catalog__conditions > div { grid-template-columns: minmax(0, 1fr); }
.bastion-v2-model-catalog__provenance > summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.bastion-v2-model-catalog__technical { border-block: 1px solid #ccdce1; margin-block: 16px; padding-block: 16px; overflow-wrap: anywhere; }
.bastion-v2-model-catalog__technical h3,
.bastion-v2-model-catalog__family-topic h3 { font-size: 20px; line-height: 1.3; margin: 4px 0 12px; }
.bastion-v2-model-catalog__family-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; margin-block: 12px; }
.bastion-v2-model-catalog__family-topic { min-width: 0; border-top: 1px solid #ccdce1; padding-block: 12px; overflow-wrap: anywhere; }
.bastion-v2-model-catalog__family-notes p { margin-block: 8px; }
.bastion-v2-model-catalog__source { display: flex; align-items: center; min-height: 44px; font-size: 13px; }
.bastion-v2-model-catalog__code-list { margin-block: 12px; }
.bastion-v2-model-catalog__code-list > div { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 8px 16px; border-top: 1px solid #e1e9ec; padding-block: 10px; }
.bastion-v2-model-catalog__code-list dt { display: grid; align-content: start; gap: 6px; }
.bastion-v2-model-catalog__code-list code { font-size: 16px; font-weight: 600; }
.bastion-v2-model-catalog__code-list dd { margin: 0; min-width: 0; }
.bastion-v2-model-catalog__code-list p { margin: 0 0 4px; }
.bastion-v2-model-catalog :focus-visible { outline: 2px solid #007f9e; outline-offset: 3px; }
.bastion-v2-model-catalog [hidden] { display: none; }

.bastion-v2-model-catalog--enhanced .bastion-v2-model-catalog__index[aria-label="Model catalog sections"] { display: none; }
.bastion-v2-model-browser { margin: 20px 0 24px; padding: 18px 0; border-block: 1px solid #ccdce1; }
.bastion-v2-model-browser__search { display: grid; grid-template-columns: minmax(140px, 190px) minmax(220px, 520px); align-items: center; gap: 10px 18px; }
.bastion-v2-model-browser__search label,
.bastion-v2-model-browser__filter > span { font-size: 13px; font-weight: 700; color: #20343f; }
.bastion-v2-model-browser__search input { width: 100%; min-height: 44px; border: 1px solid #91aab3; border-radius: 4px; padding: 9px 12px; font: inherit; color: #142638; background: #fff; }
.bastion-v2-model-browser__filter { display: grid; grid-template-columns: minmax(140px, 190px) minmax(0, 1fr); align-items: start; gap: 10px 18px; margin-top: 14px; }
.bastion-v2-model-browser__filter > span { padding-top: 8px; }
.bastion-v2-model-browser__options { display: flex; flex-wrap: wrap; gap: 6px; }
.bastion-v2-model-browser__options button,
.bastion-v2-model-browser__more { min-height: 38px; border: 1px solid #a8bbc2; border-radius: 4px; padding: 7px 10px; background: #fff; color: #005369; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.bastion-v2-model-browser__options button[aria-pressed="true"] { border-color: #006f86; background: #006f86; color: #fff; }
.bastion-v2-model-browser__status { margin-top: 12px; font-size: 13px; color: #536872; }
.bastion-v2-model-browser__empty { margin: 12px 0 0; color: #7a3d22; }
.bastion-v2-model-browser__more { display: block; min-width: 220px; margin: 14px auto 0; }
.bastion-v2-model-catalog--enhanced .bastion-v2-model-catalog__rows { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.bastion-v2-model-catalog--enhanced .bastion-v2-model-catalog__row { display: grid; align-content: center; min-height: 48px; padding: 7px 8px; border: 1px solid #d7e3e7; border-radius: 4px; background: #fff; }
.bastion-v2-model-catalog--enhanced .bastion-v2-model-catalog__model { min-height: 0; }
.bastion-v2-model-catalog--enhanced .bastion-v2-model-catalog__model code { font-size: 12px; line-height: 1.25; word-break: break-word; }
.bastion-v2-model-catalog--enhanced .bastion-v2-model-catalog__documents { gap: 3px 8px; font-size: 11px; }
.bastion-v2-model-catalog--enhanced .bastion-v2-model-catalog__documents a { min-height: 28px; }

@media (max-width: 980px) {
  .bastion-v2-model-catalog--enhanced .bastion-v2-model-catalog__rows { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .bastion-v2-model-catalog__index ul { grid-template-columns: minmax(0, 1fr); }
  .bastion-v2-model-catalog__heading { align-items: start; }
  .bastion-v2-model-catalog__heading h2 { font-size: 24px; }
  .bastion-v2-model-catalog__rows { grid-template-columns: minmax(0, 1fr); }
  .bastion-v2-model-catalog__summary { grid-template-columns: minmax(0, 1fr); }
  .bastion-v2-model-catalog__family-notes { grid-template-columns: minmax(0, 1fr); }
  .bastion-v2-model-browser { margin-block: 16px 20px; padding-block: 14px; }
  .bastion-v2-model-browser__search,
  .bastion-v2-model-browser__filter { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .bastion-v2-model-browser__filter > span { padding-top: 0; }
  .bastion-v2-model-browser__options { gap: 5px; }
  .bastion-v2-model-browser__options button { min-height: 36px; padding-inline: 8px; }
  .bastion-v2-model-browser__more { width: auto; min-width: 0; max-width: 100%; }
  .bastion-v2-model-catalog--enhanced .bastion-v2-model-catalog__rows { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .bastion-v2-model-catalog--enhanced .bastion-v2-model-catalog__row { min-height: 44px; padding: 6px; }
  .bastion-v2-model-catalog--enhanced .bastion-v2-model-catalog__model code { font-size: 10.5px; }
}
