/* Deliberately scoped to the existing catalog. The site shell and product UI are unchanged. */
.fp-catalog .tr-hero { padding-top: clamp(36px, 5vw, 68px); }
.fp-catalog .tr-hero h1 { max-width: 940px; }
.fp-catalog .tr-hero-actions { margin-top: 24px; }
.fp-catalog .tr-section-nav { margin-top: 26px; }
.fp-catalog .tr-section-nav a { text-decoration: none; }
.fp-catalog .tr-section-nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.fp-catalog :is(.tr-tool, .tr-repository, .tr-app, section) { scroll-margin-top: 110px; }
.fp-catalog .tr-tool-heading { align-items: flex-start; }
.fp-catalog .tr-tool-heading h3 { flex: 1 1 220px; }
.fp-catalog .tr-tool-heading .tr-status { flex: 0 0 auto; padding-top: 4px; }
.fp-catalog .tr-tool-actions > .tr-action { min-width: 170px; }
.fp-catalog .fp-work-apps { margin-top: 54px; padding-top: 28px; border-top: 2px solid var(--tr-blue); }
.fp-catalog .fp-work-apps > h3 { font-size: clamp(25px, 3vw, 34px); line-height: 1.2; margin: 0 0 20px; }
.fp-catalog .fp-work-apps .tr-other-tools { margin-top: 0; }
.fp-catalog .fp-source-boundary { margin-top: 16px; font-size: 14px; line-height: 1.6; }
.fp-catalog .oss-repository-meta { display: flex; gap: 8px 18px; flex-wrap: wrap; }
.fp-catalog .tr-hero-actions .tr-link { min-height: 48px; }
@media (max-width: 760px) {
  .fp-catalog .tr-hero h1 { font-size: clamp(37px, 9.5vw, 58px); }
  .fp-catalog .tr-hero-actions { gap: 8px 22px; }
  .fp-catalog .tr-section { padding-block: 36px; }
  .fp-catalog .tr-section-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 20px; }
  .fp-catalog .tr-section-nav a { justify-content: space-between; gap: 6px; font-size: 14px; }
  .fp-catalog .tr-tool-heading h3 { flex-basis: 180px; }
}
@media (max-width: 420px) {
  .fp-catalog .tr-hero .tr-action { width: auto; }
  .fp-catalog .tr-intro { font-size: 18px; }
  .fp-catalog .tr-section-nav a { font-size: 13px; }
}
