/* Selected UI audit corrections: contrast, academic cards, approach headings. */

/* Keep normal, hover and keyboard-focus submit text readable. */
body .ts-form button,
body .ts-form button:hover,
body .ts-form button:focus,
body .ts-form button:focus-visible,
body .ts-form button:active {
  color: #fff;
}
body .ts-form button:focus,
body .ts-form button:active { background: #28584b; border-color: #28584b; }
body .ts-form button:focus-visible { outline: 3px solid #7a5938; outline-offset: 4px; }

/* More contrast on pale surfaces; existing dark-section rules stay stronger. */
body .ts-section-label { color: #7a5938; }
body .ts-research-meta { color: #56634e; }
body .ts-message-section { --ts-text-muted: #58675e; }
body .ts-announcement-article .related-post time { color: #5f6e59; }

/* Give each intermediate-width heading the full width of its column. */
@media (min-width: 769px) and (max-width: 1100px) {
  body .ts-approach-section .ts-col-item {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 16px;
  }
  body .ts-approach-section .ts-col-item .ts-approach-art {
    grid-column: 1;
    grid-row: 1;
    width: 66px;
    height: 66px;
  }
  body .ts-approach-section .ts-col-item h3 {
    grid-column: 1;
    grid-row: 2;
    min-height: 2.5em;
    align-self: start;
    overflow-wrap: normal;
    word-break: normal;
  }
  body .ts-approach-section .ts-col-item p {
    grid-column: 1;
    grid-row: 3;
  }
}

/* Descriptions follow the compact art/title row and use all available space. */
@media (max-width: 767px) {
  body .ts-academic-features .ts-feature-art { grid-row: 1 / 3; }
  body .ts-academic-features .ts-academic-feature > p:empty { display: none; }
  body .ts-academic-features .ts-academic-feature > p {
    grid-column: 1 / -1;
    margin-top: 12px;
  }
}
