/* Public home and model catalog. Deliberately scoped away from console/admin. */
.discover-home, .discover-catalog {
  --discovery-ink: var(--text-1, #111827);
  --discovery-text: var(--text-2, #475569);
  --discovery-muted: var(--text-3, #64748b);
  --discovery-border: var(--line-1, #e2e8f0);
  --discovery-soft: var(--bg-2, #f8fafc);
  --discovery-white: var(--bg-0, #ffffff);
  --discovery-indigo: var(--brand, #4f46e5);
  --discovery-indigo-hover: var(--brand-strong, #4338ca);
  --discovery-indigo-soft: var(--brand-dim, #eef2ff);
  background: var(--discovery-white);
  color: var(--discovery-ink);
  font-family: "Satoshi", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height: 1.7;
}
.discover-home h1, .discover-home h2, .discover-home h3,
.discover-catalog h1, .discover-catalog h2, .discover-catalog h3 { color: var(--discovery-ink); font-family: inherit; }
.discover-home a, .discover-catalog a { text-decoration: none; }
.discover-home a:focus-visible, .discover-home button:focus-visible,
.discover-catalog a:focus-visible, .discover-catalog button:focus-visible,
.discover-catalog input:focus-visible, .discover-catalog select:focus-visible { outline: 3px solid var(--discovery-indigo); outline-offset: 4px; }
.discovery-container { max-width: 1200px; padding-inline: 32px; margin-inline: auto; }
.discovery-hero { padding: 104px 0 78px; text-align: center; }
.discovery-eyebrow { display: inline-flex; align-items: center; gap: 12px; color: var(--discovery-text); font-size: 13px; font-weight: 500; }
.discovery-eyebrow > span { color: var(--discovery-border); }
.discovery-eyebrow svg { width: 14px; }
.discovery-hero h1 { max-width: 980px; margin: 27px auto 24px; font-size: clamp(42px, 5.4vw, 76px); font-weight: 600; line-height: 1.13; letter-spacing: -.055em; text-wrap: balance; }
.discovery-lead { max-width: 650px; margin-inline: auto; font-size: 18px; color: var(--discovery-text); line-height: 1.8; text-wrap: pretty; }
.discovery-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.discovery-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 10px 21px; border: 1px solid transparent; border-radius: 7px; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.discovery-button.primary { color: var(--text-on-accent, #ffffff); background: var(--discovery-indigo); }
.discovery-button.primary:hover { background: var(--discovery-indigo-hover); }
.discovery-button.secondary { color: var(--discovery-ink); background: var(--discovery-white); border-color: var(--discovery-border); }
.discovery-button.secondary:hover { background: var(--discovery-soft); border-color: var(--discovery-muted); }
.discovery-hero-note { margin-top: 19px; color: var(--discovery-muted); font-size: 12px; }
.discovery-metrics { max-width: 920px; display: grid; grid-template-columns: repeat(3, 1fr); padding-block: 27px; border-top: 1px solid var(--discovery-border); border-bottom: 1px solid var(--discovery-border); }
.discovery-metrics > div { display: flex; flex-direction: column; gap: 3px; align-items: center; }
.discovery-metrics > div + div { border-left: 1px solid var(--discovery-border); }
.discovery-metrics strong { font-size: 33px; line-height: 1.25; font-weight: 600; letter-spacing: -.04em; }
.discovery-metrics span { color: var(--discovery-muted); font-size: 13px; }
.discovery-section { padding-block: 88px; }
.discovery-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.discovery-kicker { display: block; margin-bottom: 13px; color: var(--discovery-muted); font-size: 11px; font-weight: 600; letter-spacing: .12em; }
.discovery-section h2, .discovery-final h2 { font-size: clamp(27px, 2.5vw, 37px); line-height: 1.3; font-weight: 600; letter-spacing: -.04em; text-wrap: balance; }
.discovery-text-link { display: inline-flex; align-items: center; gap: 7px; flex: none; color: var(--discovery-indigo); font-size: 14px; font-weight: 600; }
.discovery-text-link:hover { color: var(--discovery-indigo-hover); }
.discovery-category-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; margin-bottom: 22px; }
.discovery-category-links a { padding: 5px 13px; border: 1px solid var(--discovery-border); border-radius: 5px; color: var(--discovery-text); font-size: 12px; }
.discovery-category-links a:hover { color: var(--discovery-indigo); background: var(--discovery-indigo-soft); border-color: var(--discovery-indigo-soft); }
.discovery-model-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.discovery-model { display: flex; flex-direction: column; min-width: 0; padding: 23px 20px 19px; border: 1px solid var(--discovery-border); border-radius: 8px; transition: border-color .16s, box-shadow .16s; }
.discovery-model:hover { border-color: var(--discovery-indigo); box-shadow: var(--shadow-1); }
.discovery-model-brand { display: flex; align-items: center; gap: 9px; margin-bottom: 22px; color: var(--discovery-text); font-size: 12px; }
.discovery-model-brand img { object-fit: contain; }
.discovery-model-brand > svg { margin-left: auto; color: var(--discovery-muted); width: 15px; }
.discovery-monogram { display: grid; place-items: center; width: 25px; height: 25px; background: var(--discovery-soft); border: 1px solid var(--discovery-border); border-radius: 5px; font-size: 14px; font-weight: 700; }
.discovery-model h3 { font-size: 17px; line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; letter-spacing: -.02em; }
.discovery-model-id { margin-top: 5px; color: var(--discovery-muted); font-size: 11px; overflow-wrap: anywhere; }
.discovery-model-description { margin-block: 15px 22px; color: var(--discovery-text); font-size: 13px; line-height: 1.75; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; min-height: 68px; }
.discovery-model-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--discovery-border); color: var(--discovery-muted); font-size: 11px; }
.discovery-model-price strong { color: var(--discovery-ink); font-size: 14px; font-weight: 600; }
.discovery-footnote { margin-top: 15px; color: var(--discovery-muted); font-size: 11px; }
.discovery-feature-band { padding-block: 60px; background: var(--discovery-soft); border-block: 1px solid var(--discovery-border); }
.discovery-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px; }
.discovery-feature-number { display: block; margin-bottom: 20px; color: var(--discovery-indigo); font-family: var(--font-mono); font-size: 12px; }
.discovery-feature-grid h3 { font-size: 19px; line-height: 1.5; font-weight: 600; letter-spacing: -.02em; }
.discovery-feature-grid p { margin-block: 12px 19px; color: var(--discovery-text); font-size: 14px; line-height: 1.85; }
.discovery-feature-grid a { display: inline-flex; align-items: center; gap: 7px; color: var(--discovery-indigo); font-size: 13px; font-weight: 600; }
.discovery-feature-grid svg { width: 15px; }
.discovery-integration { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 75px; }
.discovery-integration h2 { font-size: clamp(32px, 3.2vw, 44px); }
.discovery-integration p { max-width: 370px; margin-block: 22px; color: var(--discovery-text); font-size: 15px; line-height: 1.85; }
.discovery-code { overflow: hidden; border: 1px solid var(--discovery-border); border-radius: 9px; background: var(--discovery-soft); }
.discovery-code-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 0 19px; border-bottom: 1px solid var(--discovery-border); color: var(--discovery-muted); font-size: 11px; }
.discovery-code-toolbar button { background: transparent; border: 0; color: var(--discovery-text); font: inherit; min-height: 36px; cursor: pointer; }
.discovery-code-toolbar button:hover, .discovery-code-toolbar button.copied { color: var(--discovery-indigo); }
.discovery-code pre { padding: 24px; margin: 0; overflow: auto; background: transparent; color: var(--discovery-ink); font-family: var(--font-mono); font-size: 12px; line-height: 1.85; }
.discovery-code code { font: inherit; }
.discovery-final { padding: 65px 0 75px; border-top: 1px solid var(--discovery-border); background: var(--discovery-soft); text-align: center; }
.discovery-final p { margin-block: 15px 25px; color: var(--discovery-muted); font-size: 15px; }
.discovery-empty { padding: 60px 25px; background: var(--discovery-soft); text-align: center; }
.discovery-empty h2, .discovery-empty h3 { font-size: 21px; }
.discovery-empty p { margin-block: 13px 22px; color: var(--discovery-muted); font-size: 14px; }

/* Generated artwork is responsive, self-hosted and shares one art direction. */
.discovery-hero { padding-block: 72px 60px; text-align: left; }
.discovery-hero-layout { display: grid; grid-template-columns: 1.05fr 1fr; gap: 40px; align-items: center; }
.discovery-hero-copy { min-width: 0; }
.discovery-hero h1 { margin: 24px 0; font-size: clamp(42px, 4.7vw, 67px); }
.discovery-lead { margin-inline: 0; font-size: 16px; }
.discovery-hero .discovery-actions { justify-content: flex-start; }
.discovery-hero-art { position: relative; margin: 0; overflow: hidden; border-radius: 18px; background: #e9eaf3; border: 1px solid var(--discovery-border); box-shadow: 0 22px 70px #17194b0c; }
.discovery-hero-art > img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.discovery-hero-art figcaption { display: flex; justify-content: space-between; gap: 12px; padding: 12px 17px; background: var(--discovery-white); color: var(--discovery-muted); font-size: 10px; letter-spacing: .05em; }
.discovery-gallery { padding-top: 22px; }
.discovery-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 27px; }
.discovery-gallery-card { overflow: hidden; border-radius: 10px; border: 1px solid var(--discovery-border); background: var(--discovery-soft); color: var(--discovery-ink); }
.discovery-gallery-card > img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; transition: filter .2s; }
.discovery-gallery-card:hover > img { filter: brightness(1.06); }
.discovery-gallery-card > div { padding: 19px 20px 21px; }
.discovery-gallery-card > div > span { color: var(--discovery-muted); font-size: 10px; letter-spacing: .08em; }
.discovery-gallery-card h3 { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 7px; font-size: 18px; font-weight: 500; }
.discovery-gallery-card h3 svg { width: 16px; color: var(--discovery-muted); }
.discovery-protocol-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 27px; }
.discovery-protocol-grid article { padding: 25px; border: 1px solid var(--discovery-border); border-radius: 10px; }
.discovery-protocol-grid h3 { font-size: 20px; }
.discovery-protocol-grid h3 > span { display: inline-block; margin-left: 8px; font-size: 12px; font-weight: 400; color: var(--discovery-muted); }
.discovery-protocol-grid dl { margin-block: 20px; font-size: 13px; }
.discovery-protocol-grid dl > div { display: grid; grid-template-columns: 75px minmax(0,1fr); gap: 12px; padding-block: 9px; }
.discovery-protocol-grid dt { color: var(--discovery-muted); }
.discovery-protocol-grid dd { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; margin: 0; }
.discovery-protocol-grid dd code { overflow-wrap: anywhere; }
.discovery-protocol-grid dd a { color: var(--discovery-indigo); }
.discovery-protocol-grid dd button { border: 0; background: transparent; color: var(--discovery-indigo); font: inherit; font-size: 11px; cursor: pointer; }
@media (max-width: 900px) {
  .discovery-hero-layout { gap: 25px; }
  .discovery-hero h1 { font-size: 44px; }
  .discovery-hero .discovery-eyebrow { font-size: 11px; gap: 7px; }
  .discovery-gallery-card h3 { font-size: 16px; }
}
@media (max-width: 760px) {
  .discovery-hero-layout { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .discovery-hero-copy { text-align: center; }
  .discovery-hero .discovery-actions { justify-content: center; }
  .discovery-hero h1, .discovery-lead { margin-inline: auto; }
  .discovery-hero-art { max-width: 620px; margin-inline: auto; width: 100%; }
  .discovery-protocol-grid { grid-template-columns: minmax(0,1fr); }
  .discovery-gallery-grid { gap: 12px; }
  .discovery-gallery-card > div { padding: 12px; }
}
@media (max-width: 620px) {
  .discovery-gallery-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .discovery-gallery-card h3 { font-size: 19px; }
  .discovery-protocol-grid article { padding: 20px; }
}

/* Model catalog */
.discovery-hero-centered { display:block; text-align:center; padding-block:16px 20px; }
.discovery-hero-centered .discovery-hero-copy { margin-inline:auto; max-width:960px; }
.discovery-hero-centered h1 { max-width:960px; margin:25px auto; font-size:clamp(46px,6vw,78px); line-height:1.16; letter-spacing:-.055em; }
.discovery-hero-centered .discovery-lead { max-width:720px; margin-inline:auto; font-size:17px; }
.discovery-hero-centered .discovery-actions { justify-content:center; margin-top:26px; gap:16px; }
.discovery-hero-centered .discovery-button { min-width:195px; min-height:48px; }
.discover-home .discovery-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); max-width:960px; border:0; padding-block:24px 38px; }
.discover-home .discovery-metrics > div + div { border:0; }
.discover-home .discovery-metrics strong { font-size:38px; font-weight:600; }
.discovery-stats-note { text-align:center; color:var(--discovery-muted); font-size:10px; margin-top:-18px; margin-bottom:18px; }
.discovery-tasks .discovery-task-grid > a { padding:0 0 22px; overflow:hidden; }
.discovery-task-grid .discovery-task-art { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; margin-bottom:22px; }
.discovery-task-grid > a > :not(.discovery-task-art) { margin-inline:20px; }
.discovery-task-grid .discovery-task-icon { display:none; }
.discovery-tasks { padding-top:30px; }
.discovery-tasks .discovery-section-heading { margin-bottom:24px; }
@media(max-width:620px) { .discover-home .discovery-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px; }.discover-home .discovery-metrics strong { font-size:32px; }.discovery-hero-centered .discovery-button { min-width:155px; } }
.discover-page-heading { padding-block:62px 42px; }
.discover-page-heading h1 { font-size:clamp(36px,5vw,58px); line-height:1.2; margin-bottom:20px; letter-spacing:-.04em; }
.discover-page-heading .discovery-lead { margin-bottom:22px; }
.discover-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.discover-selection-grid { margin-top:24px; }
@media(max-width:900px) { .discover-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .discover-category-grid { grid-template-columns:minmax(0,1fr); } }
.catalog-container { max-width: 1400px; padding: 48px 40px 96px; margin-inline: auto; }
.catalog-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 43px; }
.catalog-heading .discovery-kicker { margin-bottom: 11px; }
.catalog-heading h1 { font-size: clamp(30px, 3vw, 42px); line-height: 1.2; font-weight: 600; letter-spacing: -.045em; }
.catalog-heading p { margin-top: 14px; color: var(--discovery-muted); font-size: 14px; }
.catalog-layout { display: grid; grid-template-columns: 208px minmax(0, 1fr); column-gap: 48px; align-items: start; }
.catalog-sidebar { padding-right: 23px; border-right: 1px solid var(--discovery-border); position: sticky; top: 100px; }
.catalog-filter-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 23px; }
.catalog-filter-heading h2 { font-size: 15px; font-weight: 600; }
.catalog-filter-heading a { color: var(--discovery-muted); font-size: 12px; }
.catalog-filter-heading a:hover { color: var(--discovery-indigo); }
.catalog-sidebar fieldset { padding: 0; margin: 0 0 29px; border: 0; min-width: 0; }
.catalog-sidebar legend { margin-bottom: 11px; font-size: 12px; font-weight: 600; color: var(--discovery-ink); }
.catalog-filter-option { display: flex; align-items: center; gap: 9px; min-height: 34px; font-size: 12px; color: var(--discovery-text); cursor: pointer; }
.catalog-filter-option input { width: 14px; height: 14px; flex: none; padding: 0; margin: 0; accent-color: var(--discovery-indigo); }
.catalog-filter-option small { margin-left: auto; color: var(--discovery-muted); font-size: 10px; }
.catalog-filter-option:has(input:checked) { color: var(--discovery-indigo); }
.catalog-apply { width: 100%; min-height: 38px; padding: 7px 12px; font-size: 12px; }
.catalog-filter-note { margin-top: 20px; color: var(--discovery-muted); font-size: 11px; line-height: 1.8; }
.catalog-results { min-width: 0; }
.catalog-search-row { display: flex; align-items: center; gap: 12px; }
.catalog-search { flex: 1; min-width: 0; display: flex; align-items: center; gap: 9px; height: 44px; padding: 0 10px 0 13px; border: 1px solid var(--discovery-border); border-radius: 7px; }
.catalog-search:focus-within { border-color: var(--discovery-indigo); }
.catalog-search svg { color: var(--discovery-muted); flex: none; }
.catalog-search input { width: 100%; min-width: 0; height: 100%; padding: 0; border: 0; outline: none; box-shadow: none; background: transparent; color: var(--discovery-ink); font: inherit; font-size: 13px; }
.catalog-search input:focus-visible { outline: none; }
.catalog-search input::placeholder { color: var(--discovery-muted); opacity: 1; }
.catalog-search button { min-height: 30px; padding: 4px 8px; border: 0; border-radius: 4px; color: var(--discovery-muted); background: var(--discovery-soft); font: inherit; font-size: 11px; cursor: pointer; white-space: nowrap; }
.catalog-search button:hover { color: var(--discovery-indigo); }
.catalog-sort select { height: 44px; max-width: 190px; padding: 0 32px 0 12px; border: 1px solid var(--discovery-border); border-radius: 7px; background-color: var(--discovery-white); color: var(--discovery-text); font: inherit; font-size: 12px; cursor: pointer; }
.catalog-tabs { display: flex; gap: 23px; margin-top: 22px; border-bottom: 1px solid var(--discovery-border); overflow-x: auto; scrollbar-width: thin; }
.catalog-tabs a { display: inline-flex; align-items: center; gap: 7px; flex: none; min-height: 43px; padding-bottom: 11px; border-bottom: 2px solid transparent; color: var(--discovery-muted); font-size: 12px; }
.catalog-tabs a > span { font-size: 10px; color: var(--discovery-muted); }
.catalog-tabs a.is-active { border-bottom-color: var(--discovery-indigo); color: var(--discovery-indigo); font-weight: 600; }
.catalog-tabs a:hover { color: var(--discovery-indigo); }
.catalog-results-summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 18px 16px; color: var(--discovery-muted); font-size: 11px; }
.catalog-results-summary b { color: var(--discovery-ink); font-weight: 600; }
.catalog-model { display: grid; grid-template-columns: minmax(0, 1fr) 430px; gap: 28px; padding: 25px 0 27px; border-top: 1px solid var(--discovery-border); }
.catalog-model:last-child { border-bottom: 1px solid var(--discovery-border); }
.catalog-model-content { min-width: 0; }
.catalog-model-title { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.catalog-model-title img { object-fit: contain; flex: none; }
.catalog-model-mark { width: 25px; text-align: center; font-size: 22px; color: var(--discovery-muted); }
.catalog-model-title h2 { font-size: 19px; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; letter-spacing: -.025em; }
.catalog-model-title h2 a:hover { color: var(--discovery-indigo); }
.catalog-modality { padding: 1px 7px; border: 1px solid var(--discovery-border); border-radius: 4px; font-size: 10px; color: var(--discovery-muted); }
.catalog-model-id { display: inline-block; margin-top: 5px; color: var(--discovery-muted); font-family: var(--font-mono); font-size: 11px; overflow-wrap: anywhere; }
.catalog-model-id:hover { color: var(--discovery-indigo); }
.catalog-model-description { margin-block: 12px 13px; max-width: 700px; color: var(--discovery-text); font-size: 13px; line-height: 1.8; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.catalog-model-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: var(--discovery-muted); font-size: 10px; }
.catalog-model-meta b { font-weight: 500; }
.catalog-capability { padding: 1px 6px; background: var(--discovery-soft); border-radius: 3px; }
.catalog-model-facts { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 12px; text-align: right; }
.catalog-context { display: flex; flex-direction: column; gap: 3px; font-size: 10px; color: var(--discovery-muted); }
.catalog-context strong { font-size: 11px; font-weight: 500; color: var(--discovery-text); }
.catalog-price { display: flex; flex-direction: column; gap: 4px; color: var(--discovery-muted); font-size: 11px; }
.catalog-price b { color: var(--discovery-ink); font-size: 13px; font-weight: 600; }
@media (min-width:1101px) { .catalog-model .catalog-price-line { flex-wrap:nowrap; white-space:nowrap; } }
.catalog-details { color: var(--discovery-indigo); font-size: 11px; }
.catalog-mobile-toggle { display: none; }

/* Search-first home, task discovery, compact tables and comparison selection. */
.discovery-hero-search { display: flex; align-items: center; gap: 10px; max-width: 610px; margin: 30px auto 0; border: 1px solid var(--control-border); border-radius: 9px; padding: 7px; background: var(--discovery-white); box-shadow: var(--shadow-1); }
.discovery-hero-search:focus-within { outline: 2px solid var(--discovery-indigo-soft); border-color: var(--discovery-indigo); }
.discovery-hero-search input { flex: 1; min-width: 0; padding: 10px 13px; border: 0; background: transparent; color: var(--discovery-ink); font: inherit; font-size: 14px; outline: none; }
.discovery-hero-search button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 17px; border: 0; border-radius: 6px; background: var(--discovery-indigo); color: var(--text-on-accent); font: inherit; font-size: 13px; cursor: pointer; flex: none; }
.discovery-hero-search button:hover { background: var(--discovery-indigo-hover); }
.discovery-section-sub { max-width: 610px; margin-top: 13px; font-size: 13px; color: var(--discovery-muted); }
.discovery-task-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; margin-top: 28px; }
.discovery-task-grid > a { display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--discovery-border); border-radius: 8px; background: var(--discovery-white); }
.discovery-task-grid > a:hover { border-color: var(--discovery-indigo); background: var(--discovery-soft); }
.discovery-task-icon { display: grid; place-items: center; width: 38px; height: 38px; color: var(--discovery-indigo); background: var(--discovery-indigo-soft); border-radius: 7px; font-size: 22px; margin-bottom: 22px; }
.discovery-task-grid h3 { font-size: 17px; font-weight: 600; }
.discovery-task-grid p { margin: 12px 0 20px; color: var(--discovery-muted); font-size: 12px; line-height: 1.8; }
.discovery-task-grid > a > span:last-child { margin-top: auto; display: flex; align-items: center; justify-content: space-between; color: var(--discovery-indigo); font-size: 11px; }
.discovery-task-grid svg { width: 14px; }
.discovery-featured { padding-top: 0; }
.catalog-context-filter { width: 100%; padding: 9px 8px; border: 1px solid var(--control-border); border-radius: 5px; background: var(--discovery-white); color: var(--discovery-text); font: inherit; font-size: 12px; }
.catalog-view-switch { display: inline-flex; border: 1px solid var(--control-border); border-radius: 6px; overflow: hidden; }
.catalog-view-switch a { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 4px 14px; color: var(--discovery-muted); font-size: 12px; }
.catalog-view-switch a.on { background: var(--discovery-indigo-soft); color: var(--discovery-indigo); }
.catalog-price-note { margin: 0 0 16px; color: var(--discovery-muted); font-size: 10px; }
.catalog-row-actions { display: flex; align-items: center; gap: 18px; }
.catalog-compare-check { display: inline-flex; align-items: center; min-height: 30px; gap: 7px; cursor: pointer; color: var(--discovery-muted); font-size: 11px; }
.catalog-compare-check input { accent-color: var(--discovery-indigo); width: 15px; height: 15px; margin: 0; }
.catalog-compare-check:has(input:checked) { color: var(--discovery-indigo); }
.catalog-compare-check:has(input:disabled) { opacity: .55; cursor: not-allowed; }
.catalog-table-scroll { overflow-x: auto; border-block: 1px solid var(--discovery-border); }
.catalog-table { border-collapse: collapse; width: 100%; text-align: left; min-width: 800px; font-size: 12px; }
.catalog-table th { color: var(--discovery-muted); background: var(--discovery-soft); font-size: 10px; font-weight: 500; white-space: nowrap; }
.catalog-table th, .catalog-table td { padding: 17px 13px; border-bottom: 1px solid var(--discovery-border); }
.catalog-table tr:last-child td { border-bottom: 0; }
.catalog-table td:first-child { min-width: 230px; max-width: 360px; }
.catalog-table td:first-child strong { display: block; color: var(--discovery-ink); font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.catalog-table td:first-child code { display: block; margin-top: 5px; color: var(--discovery-muted); font-size: 10px; overflow-wrap: anywhere; }
.catalog-table td:first-child a:hover strong { color: var(--discovery-indigo); }
.catalog-table .catalog-price { min-width: 170px; font-size: 10px; }
.catalog-table .catalog-price b { font-size: 12px; }
.catalog-comparison-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 18px; margin: 0 auto 50px; padding: 18px 24px; width: min(100% - 80px,1120px); border: 1px solid var(--discovery-border); border-radius: 9px; background: var(--discovery-white); box-shadow: var(--shadow-2); }
.catalog-comparison-bar.has-selection { position: fixed; z-index: 70; bottom: 18px; left: 50%; transform: translateX(-50%); margin: 0; border-color: var(--discovery-indigo); }
.catalog-comparison-bar strong { display: block; font-size: 13px; font-weight: 600; }
.catalog-comparison-bar [data-compare-count] { display: block; font-size: 11px; color: var(--discovery-muted); margin-top: 4px; }
.catalog-compare-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; max-width: 680px; }
.catalog-compare-chips:empty { display: none; }
.catalog-compare-chips button { border: 1px solid var(--discovery-border); border-radius: 4px; background: var(--discovery-soft); color: var(--discovery-text); padding: 5px 8px; font: inherit; font-size: 10px; cursor: pointer; max-width: 235px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.catalog-compare-actions { display: flex; gap: 9px; align-items: center; }
.catalog-comparison-bar .discovery-button { min-height: 40px; padding: 8px 15px; font-size: 12px; }
.catalog-comparison-bar .discovery-button:disabled { opacity: .5; cursor: not-allowed; }
.catalog-comparison-bar [data-compare-hidden] { display: none; }
@media(max-width:1000px) { .discovery-task-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .catalog-comparison-bar { width: calc(100% - 40px); } }
@media(max-width:580px) { .discovery-hero-search { padding: 5px; gap: 3px; } .discovery-hero-search input { padding-inline: 9px; font-size: 12px; } .discovery-hero-search button { padding-inline: 12px; font-size: 12px; } .discovery-hero-search button svg { display: none; } .discovery-task-grid { gap: 12px; } .discovery-task-grid > a { padding: 17px; } .discovery-task-grid h3 { font-size: 15px; } .catalog-comparison-bar { width: calc(100% - 24px); padding: 15px; gap: 13px; bottom: 12px; } .catalog-comparison-bar.has-selection { bottom: 12px; } .catalog-comparison-bar > div:first-child { width: 100%; } .catalog-compare-actions { width: 100%; justify-content: flex-end; } .catalog-compare-chips button { max-width: 145px; min-height: 32px; } .catalog-compare-check { min-height: 44px; } .catalog-view-switch a { min-height: 40px; } }

@media (max-width: 1100px) {
  .discovery-model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-container { padding-inline: 28px; }
  .catalog-layout { grid-template-columns: 180px minmax(0, 1fr); column-gap: 30px; }
  .catalog-model { grid-template-columns: 1fr; gap: 20px; }
  .catalog-model-facts { align-items:flex-start; text-align:left; }
  .catalog-tabs { gap: 17px; }
  .discovery-integration { gap: 40px; }
}
@media (max-width: 760px) {
  .discovery-container { padding-inline: 22px; }
  .discovery-hero { padding-block: 65px 52px; }
  .discovery-hero h1 { font-size: clamp(35px, 7.9vw, 58px); letter-spacing: -.04em; }
  .discovery-lead { font-size: 15px; max-width: 500px; }
  .discovery-hero-note { font-size: 10px; }
  .discovery-metrics { margin-inline: 22px; padding-inline: 0; }
  .discovery-metrics strong { font-size: 26px; }
  .discovery-metrics span { font-size: 11px; }
  .discovery-section { padding-block: 56px; }
  .discovery-section-heading { align-items: flex-start; flex-direction: column; gap: 17px; }
  .discovery-feature-band { padding-block: 45px; }
  .discovery-feature-grid { grid-template-columns: 1fr; gap: 33px; }
  .discovery-feature-number { margin-bottom: 10px; }
  .discovery-feature-grid p { max-width: 560px; }
  .discovery-integration { grid-template-columns: 1fr; gap: 27px; }
  .discovery-integration p { max-width: 500px; }
  .discovery-final { padding-block: 45px 52px; }
  .catalog-container { padding: 32px 22px 60px; }
  .catalog-heading { align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 25px; }
  .catalog-heading p { font-size: 13px; }
  .catalog-layout { display: flex; flex-direction: column; gap: 20px; }
  .catalog-sidebar { position: static; width: 100%; border: 1px solid var(--discovery-border); border-radius: 7px; padding: 20px; }
  .catalog-sidebar form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 25px; }
  .catalog-filter-heading, .catalog-apply, .catalog-filter-note { grid-column: 1 / -1; }
  .catalog-results { width: 100%; }
  [data-catalog-ready] .catalog-mobile-toggle { display: flex; align-items: center; min-height: 44px; padding: 7px 13px; border: 1px solid var(--discovery-border); border-radius: 6px; background: var(--discovery-white); color: var(--discovery-text); font: inherit; font-size: 12px; cursor: pointer; }
  [data-catalog-ready] .catalog-sidebar:not(.is-open) { display: none; }
  .catalog-filter-option, .catalog-apply { min-height: 44px; }
  .catalog-details { display: flex; align-items: center; gap: 4px; min-height: 44px; }
  .catalog-results-summary { align-items: flex-start; flex-direction: column; gap: 4px; }
}
@media (max-width: 480px) {
  .discovery-model-grid { grid-template-columns: 1fr; }
  .discovery-model-description { min-height: 0; }
  .discovery-model-brand { margin-bottom: 16px; }
  .discovery-model { padding: 22px; }
  .discovery-actions { gap: 10px; }
  .discovery-button { padding-inline: 17px; font-size: 13px; }
  .discovery-code pre { font-size: 10px; padding: 18px; }
  .catalog-search-row { flex-wrap: wrap; }
  .catalog-search { flex-basis: 100%; }
  .catalog-sort { margin-left: auto; }
  .catalog-sort select { height: 44px; }
  .catalog-model { grid-template-columns: 1fr; gap: 17px; }
  .catalog-model-facts { display: grid; grid-template-columns: 1fr 1fr; align-items: start; text-align: left; gap: 10px; }
  .catalog-model-facts .catalog-price { grid-column:1 / -1; }
  .catalog-model-title h2 { font-size: 17px; }
  .catalog-details { grid-column: 1 / -1; }
  .catalog-tabs { margin-top: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .discovery-button, .discovery-model { transition: none; }
}
/* Company -> family -> exact API variant. Family grouping never changes API prices. */
.catalog-company-group + .catalog-company-group{margin-top:28px}
.catalog-company-heading{display:flex;align-items:baseline;gap:12px;padding:18px 0 12px;border-bottom:1px solid var(--line-1)}
.catalog-company-heading h2{font-size:17px;font-weight:650;letter-spacing:-.02em;margin:0}
.catalog-company-heading>span,.catalog-family-count{font-size:11px;color:var(--text-3)}
.catalog-price>small{font-size:10px;max-width:240px;overflow-wrap:anywhere;color:var(--text-3);line-height:1.5}
.catalog-family-count{display:block;margin-top:10px}
.catalog-table td>a>small{display:block;font-size:10px;color:var(--text-3);margin-top:6px}
