/* Compact layout shared only by public-facing pages. */
.public-page .container.py-5 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.marketplace-search { max-width: 760px; }
.marketplace-logo { width: 52px; height: 52px; object-fit: contain; border: 1px solid #dee2e6; border-radius: .65rem; background: #fff; padding: .3rem; }
.marketplace-logo-lg { width: 68px; height: 68px; }
.marketplace-logo-fallback { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; background: #e9f2ff; color: #0d6efd; font-size: 1.25rem; font-weight: 700; }
.marketplace-schema { border: 1px solid #dee2e6; border-radius: .5rem; background: #f8f9fa; padding: 1rem; }
.marketplace-card { transition: border-color .15s ease; }
.marketplace-card:hover { border-color: #8bb9ff; }
.marketplace-agent-link { display: flex; justify-content: space-between; gap: .5rem; padding: .45rem .5rem; color: #343a40; text-decoration: none; border-radius: .35rem; }
.marketplace-agent-link:hover, .marketplace-agent-link.active { color: #0d6efd; background: #eef5ff; }
.marketplace-agent-link small { text-transform: capitalize; color: #6c757d; }
.marketplace-layout .agent-catalog { max-height: calc(100vh - 8rem); }
.marketplace-layout .agent-workspace { overflow: hidden; }
.marketplace-summary:hover { transform: none; }
.marketplace-list-logo { width: 22px; height: 22px; object-fit: contain; border-radius: 4px; margin-left: auto; }

.public-page section.my-5 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.public-page .row.mb-5,
.public-page header.mb-5 {
  margin-bottom: 2rem !important;
}

.public-page .full-width-hero {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

/* The global card style already supplies padding. Public cards frequently
   include a card-body as well, so remove the duplicated outer padding. */
.public-page .card {
  padding: 0 !important;
  border-radius: 10px;
}

.public-page .card.p-4,
.public-page article.card.p-4 {
  padding: 1.25rem !important;
}

.public-page .card-body {
  padding: 1.25rem;
}

.public-page .card:hover {
  transform: none;
}

.public-page .card .mb-3 {
  margin-bottom: 0.75rem !important;
}

.public-page .card-text + br {
  display: none;
}

.public-page .card-text + br + .card-title {
  margin-top: 1rem !important;
}

.public-page .contact-section {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

.public-page footer {
  margin-top: 2rem;
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
}

@media (max-width: 767.98px) {
  .public-page .container.py-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }

  .public-page .full-width-hero {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .public-page .row.mb-5,
  .public-page header.mb-5 {
    margin-bottom: 1.5rem !important;
  }
}

.legal-document {
  width: min(760px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 2.25rem 0 3rem;
  color: #263238;
}

.legal-header {
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  border-bottom: 3px solid #129aaa;
}

.legal-eyebrow {
  margin: 0 0 .25rem;
  color: #087789;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.legal-document h1 { margin: 0; color: #075d69; font-size: 2rem; }
.legal-document h2 { margin: 1.6rem 0 .55rem; color: #075d69; font-size: 1.2rem; }
.legal-document p, .legal-document li { line-height: 1.65; }
.legal-document ul { padding-left: 1.25rem; }
.legal-date { margin: .35rem 0 0; color: #607d82; font-size: .92rem; }
.legal-document a { overflow-wrap: anywhere; }

@media (max-width: 767.98px) {
  .legal-document { width: min(calc(100% - 1.25rem), 760px); padding-top: 1.25rem; }
  .legal-document h1 { font-size: 1.65rem; }
}
.startupsac-landing {
  color: #263238;
  background: #fff;
}

.startupsac-hero {
  width: min(1024px, 100%);
  margin: 0 auto;
  background: #071a4b;
}

.startupsac-feature-graphic {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1024 / 500;
  object-fit: cover;
}

.startupsac-intro,
.startupsac-details,
.startupsac-section-inner,
.startupsac-legal-links {
  width: min(820px, calc(100% - 2rem));
  margin-inline: auto;
}

.startupsac-intro { padding: 2rem 0; }
.startupsac-title-row { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.startupsac-icon { width: 88px; height: 88px; flex: 0 0 88px; border-radius: 18px; }
.startupsac-title-row h1 { margin: 0; color: #075d69; font-size: 2rem; }
.startupsac-short-description { margin: .35rem 0 0; color: #52676d; font-size: 1.05rem; }
.startupsac-intro > p, .startupsac-details > p { line-height: 1.65; }

.startupsac-band { padding: 2rem 0; background: #edf8f8; border-block: 1px solid #cde7e9; }
.startupsac-band h2, .startupsac-details h2 { margin: 0 0 1rem; color: #075d69; font-size: 1.35rem; }
.startupsac-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 2rem; }
.startupsac-feature-grid div { padding-left: .85rem; border-left: 4px solid #18a7b8; }
.startupsac-feature-grid strong, .startupsac-feature-grid span { display: block; }
.startupsac-feature-grid strong { margin-bottom: .2rem; color: #123f49; }
.startupsac-feature-grid span { line-height: 1.5; color: #52676d; }

.startupsac-details { padding: 2rem 0 1.5rem; }
.startupsac-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.25rem; }
.startupsac-testing { border-top: 1px solid #d8e3e5; }
.startupsac-testing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.startupsac-testing-grid article { display: flex; flex-direction: column; align-items: flex-start; padding: 1rem; border: 1px solid #d8e3e5; border-radius: 10px; background: #f8fbfc; }
.startupsac-testing-grid h3 { margin: 0 0 .35rem; color: #123f49; font-size: 1.05rem; }
.startupsac-testing-grid p { margin-bottom: 1rem; color: #52676d; line-height: 1.5; }
.startupsac-testing-grid .btn { margin-top: auto; }
.startupsac-legal-links { display: flex; flex-wrap: wrap; gap: .7rem 1.25rem; padding: 1rem 0 2.5rem; border-top: 1px solid #d8e3e5; }
.startupsac-legal-links a { font-weight: 600; }

@media (max-width: 575.98px) {
  .startupsac-intro, .startupsac-details, .startupsac-section-inner, .startupsac-legal-links {
    width: min(calc(100% - 1.25rem), 820px);
  }
  .startupsac-intro { padding-top: 1.25rem; }
  .startupsac-title-row { align-items: flex-start; }
  .startupsac-icon { width: 68px; height: 68px; flex-basis: 68px; border-radius: 14px; }
  .startupsac-title-row h1 { font-size: 1.5rem; }
  .startupsac-short-description { font-size: .95rem; }
  .startupsac-feature-grid { grid-template-columns: 1fr; gap: 1rem; }
  .startupsac-testing-grid { grid-template-columns: 1fr; }
  .startupsac-testing-grid .btn { width: 100%; }
  .startupsac-actions .btn { width: 100%; }
}
