.lab-page .lab-catalog-browser { max-width: none; padding: 48px max(4%, calc((100vw - 1600px)/2)); background: #762640; border-top-color: #762640; }
.lab-catalog-browser .lab-catalog-intro { display: flex; justify-content: space-between; align-items: end; gap: 34px; margin-bottom: 25px; }
.lab-catalog-browser .lab-catalog-kicker { margin: 0 0 7px; color: #f1c9d3; font: 700 12px/1.3 'DM Sans',sans-serif; letter-spacing: .16em; }
.lab-catalog-browser .lab-h2 { margin: 0; }
.lab-catalog-browser .lab-catalog-intro > p { max-width: 440px; margin: 0 0 3px; color: #f4e5e9; font-size: clamp(16px,1.25vw,19px); line-height: 1.45; }
.lab-catalog-browser .lab-catalog-layout { display: grid; grid-template-columns: minmax(215px, 280px) minmax(0,1fr); gap: 20px; align-items: stretch; }
.lab-catalog-browser .lab-catalog-sidebar { display: flex; flex-direction: column; padding: 8px; background: #87334f; border: 1px solid #b67589; }
.lab-catalog-browser .lab-catalog-sidebar button { display: grid; grid-template-columns: 26px minmax(0,1fr) auto; align-items: center; gap: 10px; width: 100%; min-height: 58px; padding: 10px 13px; border: 0; border-bottom: 1px solid #ac687e; background: transparent; color: #fff7f8; text-align: left; cursor: pointer; font-size: 15px; line-height: 1.2; font-weight: 600; }
.lab-catalog-browser .lab-catalog-sidebar button:last-child { border-bottom: 0; }
.lab-catalog-browser .lab-catalog-sidebar button:hover { background: #9a4560; }
.lab-catalog-browser .lab-catalog-sidebar button[aria-selected="true"] { background: #fffdf8; color: #142b4d; box-shadow: inset 4px 0 #9e3958; }
.lab-catalog-browser .lab-cat-number { color: #f2cbd6; font-size: 11px; letter-spacing: .05em; }
.lab-catalog-browser button[aria-selected="true"] .lab-cat-number { color: #923551; }
.lab-catalog-browser .lab-cat-count { opacity: .8; font-size: 13px; }
.lab-catalog-browser .lab-catalog-results { min-width: 0; background: #fffdf8; color: #172d4c; }
.lab-catalog-browser .lab-catalog-feature { display: grid; grid-template-columns: minmax(170px,31%) 1fr; min-height: 180px; background: #f7eeee; }
.lab-catalog-browser .lab-catalog-feature img { width: 100%; height: 100%; min-height: 180px; max-height: 230px; object-fit: cover; }
.lab-catalog-browser .lab-catalog-feature-copy { align-self: center; padding: 22px clamp(20px,3vw,44px); }
.lab-catalog-browser .lab-catalog-feature-copy > p:first-child { margin: 0 0 8px; color: #923551; font-size: 12px; font-weight: 750; letter-spacing: .12em; }
.lab-catalog-browser .lab-catalog-feature h3 { margin: 0 0 8px; font-family: var(--display-font),Georgia,serif; font-weight: 600; font-size: clamp(27px,2.5vw,38px); line-height: 1.1; }
.lab-catalog-browser .lab-catalog-feature-copy > p:last-child { max-width: 48ch; margin: 0; color: #465770; font-size: 16px; line-height: 1.45; }
.lab-catalog-browser .lab-catalog-results-head { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 28px 34px 17px; border-bottom: 1px solid #dce3e8; }
.lab-catalog-browser .lab-catalog-results-head p { margin: 0; font-family: var(--display-font),Georgia,serif; font-size: 22px; font-weight: 600; }
.lab-catalog-browser .lab-catalog-results-head span { color: #697b90; font-size: 11px; font-weight: 700; letter-spacing: .1em; white-space: nowrap; }
.lab-catalog-browser .lab-catalog-result-list { padding: 0 34px; }
.lab-catalog-browser .lab-catalog-result { display: grid; grid-template-columns: 190px minmax(0,1fr) 38px; align-items: center; gap: 30px; padding: 36px 0; border-bottom: 1px solid #dce3e8; }
.lab-catalog-browser .lab-catalog-result > img { width: 190px; height: 146px; object-fit: cover; }
.lab-catalog-browser .lab-catalog-result-type { margin: 0 0 10px; color: #923551; font-size: 11px; font-weight: 750; letter-spacing: .09em; }
.lab-catalog-browser .lab-catalog-result h4 { max-width: 34ch; margin: 0 0 11px; font-family: var(--display-font),Georgia,serif; font-size: clamp(21px,1.8vw,27px); line-height: 1.22; }
.lab-catalog-browser .lab-catalog-result h4 a { text-decoration: none; }
.lab-catalog-browser .lab-catalog-result h4 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lab-catalog-browser .lab-catalog-result div > p:not(.lab-catalog-result-type) { max-width: 62ch; margin: 0 0 10px; color: #465770; font-size: 15px; line-height: 1.5; }
.lab-catalog-browser .lab-catalog-result div > span { color: #68778a; font-size: 13px; }
.lab-catalog-browser .lab-catalog-result-arrow { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #c7d4df; text-decoration: none; font-size: 21px; }
.lab-catalog-browser .lab-catalog-waiting { display: flex; align-items: center; gap: 19px; margin: 24px 34px; padding: 36px; background: #f1f5f4; border-left: 3px solid #689b9d; }
.lab-catalog-browser .lab-catalog-waiting-symbol { color: #689b9d; font-size: 56px; line-height: 1; }
.lab-catalog-browser .lab-catalog-waiting h4 { margin: 0; font-family: var(--display-font),Georgia,serif; font-size: 25px; }
.lab-catalog-browser .lab-catalog-detail-link { display: inline-flex; align-items: center; gap: 8px; margin: 22px 34px 30px; color: #923551; font-size: 14px; font-weight: 700; text-underline-offset: 4px; }
.lab-catalog-browser .lab-catalog-sidebar button:focus-visible, .lab-catalog-browser a:focus-visible { outline: 3px solid #d9b86c; outline-offset: 2px; }
@media (max-width: 860px) { .lab-catalog-browser .lab-catalog-layout { grid-template-columns: 215px minmax(0,1fr); gap: 12px; } .lab-catalog-browser .lab-catalog-feature { grid-template-columns: 34% 1fr; } .lab-catalog-browser .lab-catalog-result { grid-template-columns: 88px minmax(0,1fr); } .lab-catalog-browser .lab-catalog-result > img { width: 88px; height: 88px; } .lab-catalog-browser .lab-catalog-result-arrow { display: none; } }
@media (max-width: 650px) { .lab-page .lab-catalog-browser { padding: 31px 5%; } .lab-catalog-browser .lab-catalog-intro { display: block; margin-bottom: 18px; } .lab-catalog-browser .lab-catalog-intro > p { margin-top: 10px; } .lab-catalog-browser .lab-catalog-layout { display: block; } .lab-catalog-browser .lab-catalog-sidebar { display: flex; flex-direction: row; gap: 4px; overflow-x: auto; padding: 6px; margin-bottom: 10px; scroll-snap-type: x proximity; } .lab-catalog-browser .lab-catalog-sidebar button { display: flex; flex: 0 0 auto; width: auto; min-height: 46px; padding: 8px 12px; border-bottom: 0; font-size: 13px; scroll-snap-align: start; } .lab-catalog-browser .lab-catalog-sidebar button[aria-selected="true"] { box-shadow: inset 0 -3px #9e3958; } .lab-catalog-browser .lab-cat-number, .lab-catalog-browser .lab-cat-count { display: none; } .lab-catalog-browser .lab-catalog-feature { grid-template-columns: 108px 1fr; min-height: 150px; } .lab-catalog-browser .lab-catalog-feature img { min-height: 150px; height: 100%; } .lab-catalog-browser .lab-catalog-feature-copy { padding: 15px; } .lab-catalog-browser .lab-catalog-feature h3 { font-size: 25px; } .lab-catalog-browser .lab-catalog-feature-copy > p:last-child { font-size: 13px; } .lab-catalog-browser .lab-catalog-results-head { padding: 19px 16px 9px; } .lab-catalog-browser .lab-catalog-results-head p { font-size: 19px; } .lab-catalog-browser .lab-catalog-results-head span { font-size: 10px; } .lab-catalog-browser .lab-catalog-result-list { padding: 0 16px; } .lab-catalog-browser .lab-catalog-result { grid-template-columns: 75px minmax(0,1fr); gap: 12px; } .lab-catalog-browser .lab-catalog-result > img { width: 75px; height: 90px; } .lab-catalog-browser .lab-catalog-result h4 { font-size: 18px; } .lab-catalog-browser .lab-catalog-result div > p:not(.lab-catalog-result-type) { display: none; } .lab-catalog-browser .lab-catalog-waiting { margin: 16px 16px 0; padding: 15px; gap: 10px; } .lab-catalog-browser .lab-catalog-waiting-symbol { font-size: 36px; } .lab-catalog-browser .lab-catalog-detail-link { margin: 16px; } }
@media (min-width: 651px) and (max-width: 860px) {
  .lab-catalog-browser .lab-catalog-result-list { padding-inline: 24px; }
  .lab-catalog-browser .lab-catalog-result { grid-template-columns: 108px minmax(0,1fr); gap: 18px; padding-block: 28px; }
  .lab-catalog-browser .lab-catalog-result > img { width: 108px; height: 110px; }
}
@media (max-width: 650px) {
  .lab-catalog-browser .lab-catalog-result { grid-template-columns: 92px minmax(0,1fr); gap: 14px; padding-block: 26px; }
  .lab-catalog-browser .lab-catalog-result > img { width: 92px; height: 110px; }
  .lab-catalog-browser .lab-catalog-result-type { margin-bottom: 8px; }
  .lab-catalog-browser .lab-catalog-result h4 { margin-bottom: 9px; }
  .lab-catalog-browser .lab-catalog-waiting { margin: 18px 16px; padding: 22px; }
}
