/* Static informational cards shared by solution pages. Important declarations
   override the older inline page styles, including their hover/reveal states. */
.challenge-card,
.adb-airtable .adb-card {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
  border: 1px solid #dfe6e2 !important;
  border-radius: 15px !important;
  box-shadow: none !important;
}

.challenge-card::before,
.adb-airtable .adb-card::before {
  display: none !important;
}

/* Only challenge-card icons had the rotating hover animation. */
.challenge-card .card-icon {
  color: #fff !important;
  background: #2C394B !important;
  border-radius: 15px !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
  box-shadow: none !important;
}

/* Keep small feature cards static without changing their icons or corners. */
.feature-card {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
  border-color: var(--line, #dfe6e2) !important;
  box-shadow: none !important;
}

.feature-card::before {
  display: none !important;
}

/* Keep every solution page's content layers below the fixed site navigation. */
main {
  position: relative !important;
  z-index: 0 !important;
  isolation: isolate;
}

/* Use the same subtle outline on every side of migration cards. */
.migration-card {
  border-left: 1px solid var(--line, #dfe6e2) !important;
}

/* Keep detail and migration cards static in both normal and hover states. */
.manage-card,
.migration-card {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
  border-color: var(--line, #dfe6e2) !important;
  box-shadow: none !important;
}

/* One consistent 50px gap from the attribution to the next section boundary.
   Reset nested spacing so shared site styles do not add to that gap. */
.trust,
.adb-airtable .adb-trust {
  padding-bottom: 50px !important;
  margin-bottom: 0 !important;
}
.trust .main-container,
.trust .trusted-by-main,
.trust .quote-box,
.trust .quote-box-bottom,
.adb-airtable .adb-trust .adb-container,
.adb-airtable .adb-quote,
.adb-airtable .adb-quote small {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.trust + section,
.adb-airtable .adb-trust + section {
  margin-top: 0 !important;
}

/* 50px from logo row to icon: 75px margin + 1px border - 26px offset. */
.trust .trusted-by-main > ul,
.adb-airtable .adb-trust-list {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.trust .quote-box,
.adb-airtable .adb-quote {
  margin-top: 75px !important;
  padding-top: 0 !important;
  border-top: 1px solid #e3e3e3 !important;
}
.trust .the-quote {
  margin-top: -26px !important;
  padding-top: 0 !important;
}
.trust .the-quote > svg {
  margin-top: 0 !important;
  width: 52px !important;
  height: 52px !important;
  flex-shrink: 0;
}
.adb-airtable .adb-quote > svg {
  margin-top: -26px !important;
}

/* Plain section backgrounds without decorative rings, glows, or dot patterns. */
.hero,
.adb-airtable .adb-hero {
  background: #f7f8f7 !important;
}
.hero::before,
.hero::after,
.final-cta::before,
.final-cta::after,
.adb-airtable .adb-hero::before,
.adb-airtable .adb-hero::after,
.adb-airtable .adb-final-cta::before,
.adb-airtable .adb-final-cta::after {
  display: none !important;
}
.final-cta,
.adb-airtable .adb-final-cta,
.product-map,
.adb-airtable .adb-object-map {
  background-image: none !important;
}

/* Consistent, smaller responsive hero titles across solution pages. */
.hero h1,
.adb-airtable .adb-hero h1 {
  font-size: clamp(1.75rem, 2.75vw, 3.25rem) !important;
}

/* Uniform text-only header blocks; allow extra height for wrapped labels. */
.hero .feature-pills,
.adb-airtable .adb-feature-pills {
  grid-auto-rows: 1fr;
  align-items: stretch;
}
.hero .feature-pill,
.adb-airtable .adb-feature-pill {
  box-sizing: border-box !important;
  min-height: 64px !important;
  height: 100% !important;
  padding: 12px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  text-align: center !important;
  white-space: normal !important;
  line-height: 1.4 !important;
}
.hero .feature-pill svg,
.hero .feature-pill img,
.adb-airtable .adb-feature-pill svg,
.adb-airtable .adb-feature-pill img {
  display: none !important;
}

/* Balance titles and allow highlighted words to share a line with the rest. */
main h1,
main h2,
main h3 {
  text-wrap: balance;
}
main h1 .accent,
main h2 .accent,
main h3 .accent,
.adb-airtable h1 .adb-accent,
.adb-airtable h2 .adb-accent,
.adb-airtable h3 .adb-accent {
  display: inline !important;
}

/* Later repeated card sections use compact titles and descriptions only. */
.text-only-cards .challenge-card .card-icon {
  display: none !important;
}
.text-only-cards .challenge-card {
  min-height: 0 !important;
  padding: 24px !important;
  text-align: left !important;
}
.text-only-cards .challenge-card h3 {
  min-height: 0 !important;
  margin: 0 0 12px !important;
}
.text-only-cards .challenge-card p {
  margin: 0 !important;
}

/* Give text-only cards readable widths instead of narrow five-column layouts. */
.text-only-cards .challenge-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)) !important;
  gap: 24px !important;
}

/* Share heading and paragraph tracks across each row of text-only cards. */
.text-only-cards .challenge-card {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  row-gap: 12px;
  align-items: start;
}
.text-only-cards .challenge-card h3 {
  margin-bottom: 0 !important;
}
