/* Controls and supporting text are read at the same size throughout the catalogue. */
:root { --action-red: #bf292d; }
.search-results a { font-size: 15px; }
.search-results small, .search-results p { font-size: 13px; line-height: 1.5; }
.search-results .search-more { font-weight: 600; color: var(--navy); }
.search-results { max-height: min(65vh, 480px); }
.legal, dialog .legal, .field span, .demo .small-note, .demo figcaption, .project-photo .photo-tag,
.company-news-link time, .layout-figure .scroll-hint, .product-main-photo figcaption,
.real-system figcaption, .layout-figure figcaption, .v-hero figcaption,
.product-metrics span, .v-facts span, .intent .intent-models, .intent .intent-desc,
.model-tag, .product-caption span, .header-contact span, .short-copy small {
  font-size: 13px; line-height: 1.5;
}
.breadcrumbs, .v-breadcrumbs, .product-toc a, .v-toc a, .form-status { font-size: 13px; }
.btn.red { background-color: var(--action-red); border-color: var(--action-red); }
[data-model-card] { scroll-margin-top: 24px; }
.card-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; margin-top: auto; }
.v-card .card-actions .btn { margin-top: 0; }
.card-proposal { font: inherit; font-size: 13px; font-weight: 600; background: none; color: var(--navy);
  border: 0; border-bottom: 1px solid var(--line); cursor: pointer; padding: 10px 0; line-height: 1.45; }
.card-proposal:hover { border-color: var(--navy); }
.search-results a:focus-visible, .card-proposal:focus-visible { outline: 2px solid var(--navy); outline-offset: -2px; }
@media (max-width: 540px) {
  .intent-grid { grid-template-columns: minmax(0,1fr); }
  .intent { min-width: 0; }
  .intent strong { font-size: 16px; }
  .intent .intent-desc, .intent .intent-models { font-size: 13px; }
  .search-results { max-height: min(57vh, 420px); }
  .search-results a { padding: 10px 12px; }
  .v-specs, .specs-table { font-size: 13px; }
  .field input, .field textarea, #site-search { font-size: 16px; }
  .v-breadcrumbs, .breadcrumbs { font-size: 12px; }
}

.form-status:not(:empty) {
  display: block;
  margin: 12px 0 0;
  padding: 10px 12px;
  border-left: 3px solid var(--navy);
  background: #f1f2f7;
  color: var(--navy);
  font-size: 14px;
  line-height: 1.5;
}

.demo .lab-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.demo .lab-pair .demo-photo {
  object-fit: cover;
  object-position: center 58%;
  min-width: 0;
  min-height: 0;
}
@media (max-width: 540px) {
  .demo .lab-pair { gap: 4px; }
}

/* Method navigation: retain an edge even when a display clips the light fills. */
:root {
  --method-surface: #e8edf3;
  --method-edge: #808ba2;
  --section-surface: #e5eaf1;
  --section-edge: #94a0b4;
  --section-copy: #494f67;
}
#catalogue .equipment {
  background-color: var(--method-surface);
  border-color: var(--method-edge);
  border-top-width: 2px;
}
#catalogue .equipment .method, #catalogue .equipment p { color: var(--section-copy); }
#catalogue .equipment:hover, #catalogue .equipment:focus-visible {
  background-color: #dce3ee;
  border-color: var(--navy);
}
#catalogue .equipment:focus-visible, .selection-band button:focus-visible {
  outline: 3px solid var(--navy);
  outline-offset: 3px;
}
#expertise {
  background: var(--section-surface);
  border-block: 1px solid var(--section-edge);
}
#expertise .intro-text, #expertise .capability p, #expertise time { color: var(--section-copy); }
#expertise .capability, #expertise .company-news, #expertise .company-news-list li {
  border-color: #aab3c4;
}
.method-group {
  --group-pad: clamp(16px, 2vw, 25px);
  padding: 0 var(--group-pad) 13px;
  background: #fff;
  border-color: #a3adbf;
}
.method-group h3 {
  margin: 0 calc(0px - var(--group-pad));
  padding: 15px var(--group-pad);
  background: var(--method-surface);
  border-bottom: 1px solid var(--section-edge);
  color: var(--navy);
}
.method-group li:first-child { border-top: 0; }
.method-group h3.method-heading-linked { padding: 0; }
.method-group h3 > .method-heading-link {
  display: block;
  padding: 15px var(--group-pad);
  min-height: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-decoration: none;
}
.method-group h3 > .method-heading-link:focus-visible {
  outline: 2px solid var(--navy);
  outline-offset: -3px;
}
.selection-band {
  background: var(--section-surface);
  border-block: 1px solid var(--section-edge);
}
.selection-band .selection, .v-section.selection-band {
  padding-block: clamp(28px, 3.4vw, 48px) clamp(24px, 2.5vw, 36px);
}
.selection-band + .models-section, .selection-band + #models {
  border-top: 0;
  padding-top: clamp(24px, 2.5vw, 36px);
}
.selection-band :is(.intent,.v-method) {
  background-color: white;
  border-color: var(--method-edge);
}
.selection-band :is(.intent,.v-method):hover { border-color: var(--navy); }
.selection-band :is(.intent,.v-method)[aria-pressed=true] {
  background-color: #e7eaf5;
  border-color: var(--navy);
  border-top-color: var(--action-red);
  box-shadow: inset 0 0 0 1px var(--navy);
}
.selection-band :is(.selection-heading p,.selection-result p,.v-section-top>p) { color: var(--section-copy); }
