/* Shared editorial layouts for imported pages. Vendor CSS owns artwork; these
   rules bring ordinary content onto the same typography and spacing system. */
:is(.legacy-page, .webflow-transfer-page) .hero-sub {
  min-height: 0;
  padding: var(--space-xl) 0 var(--space-lg);
}
:is(.legacy-page, .webflow-transfer-page) .hero-sub__content {
  max-width: var(--reading-width);
  margin-inline: auto;
  text-align: left;
}
:is(.legacy-page, .webflow-transfer-page) .hero-sub__content > h5 {
  margin: 0 0 var(--space-md);
}
:is(.legacy-page, .webflow-transfer-page) .hero-sub__content h1 {
  margin: 0 0 var(--space-md);
  text-align: left;
  font-weight: 600;
}
:is(.legacy-page, .webflow-transfer-page) .hero-sub__content h1 strong { font-weight: inherit; }
:is(.legacy-page, .webflow-transfer-page) .hero-sub__content__cta {
  margin-top: var(--space-md);
  text-align: left;
}
:is(.legacy-page, .webflow-transfer-page) .hero-sub__content__cta h5 {
  max-width: none;
  margin: 0 0 var(--space-md);
  font: 400 var(--type-lead)/var(--leading-lead) var(--font-serif);
  text-transform: none;
  letter-spacing: normal;
}
:is(.legacy-page, .webflow-transfer-page) .hero-sub__content__cta h5 strong { font-weight: inherit; }
:is(.legacy-page, .webflow-transfer-page) .hero-sub__content__cta .bttn { margin-top: 0; }
:is(.legacy-page, .webflow-transfer-page) .alt-blocks {
  margin: 0;
  padding: 0;
}
:is(.legacy-page, .webflow-transfer-page) .alt-blocks__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: center;
  max-width: var(--content-width);
  margin: 0 auto;
  padding: var(--space-lg) var(--page-gutter);
}
:is(.legacy-page, .webflow-transfer-page) .alt-blocks__content {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
}
:is(.legacy-page, .webflow-transfer-page) :is(.alt-blocks__img, .alt-blocks__image-rnd.left) {
  position: static;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
}
/* Preserve native proportions or authored crops instead of letterboxing images. */
:is(.legacy-page, .webflow-transfer-page) :is(.alt-blocks__img, .alt-blocks__image-rnd.left) img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
:is(.legacy-page, .webflow-transfer-page) .article-content {
  padding: var(--space-lg) 0;
}
:is(.legacy-page, .webflow-transfer-page) .article-content > .container {
  max-width: calc(var(--reading-width) + 2 * var(--page-gutter));
}
:is(.legacy-page, .webflow-transfer-page) .sub-intro__title:not(.rounded) {
  margin: 0 0 var(--space-md);
}
:is(.legacy-page, .webflow-transfer-page) .sub-intro__title > h2 {
  margin: 0 0 var(--space-md);
}
:is(.legacy-page, .webflow-transfer-page) .native-do { margin: var(--space-md) 0; }
:is(.legacy-page, .webflow-transfer-page) .native-do__row {
  gap: var(--space-md);
  padding-block: var(--space-md);
}
:is(.legacy-page, .webflow-transfer-page) .related-projects {
  padding: var(--space-lg) 0;
}
@media (max-width: 991px) {
  :is(.legacy-page, .webflow-transfer-page) .alt-blocks__container {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-md);
  }
  :is(.legacy-page, .webflow-transfer-page) .alt-blocks__content { order: -1; }
  :is(.legacy-page, .webflow-transfer-page) :is(.alt-blocks__img, .alt-blocks__image-rnd.left) { order: 0; }
}
@media (max-width: 479px) {
  :is(.legacy-page, .webflow-transfer-page) .hero-sub__content__cta h5 { font-size: var(--type-body); }
}
/* Flex containers must not shrink the reading column to its shortest heading. */
:is(.legacy-page, .webflow-transfer-page) .hero-sub__content { width: 100%; }
:is(.legacy-page, .webflow-transfer-page) .rn-measure { max-width: var(--reading-width); }
:is(.legacy-page, .webflow-transfer-page) .hero-sub__content > p {
  margin: 0 0 var(--space-md);
  font-size: var(--type-lead);
  line-height: var(--leading-lead);
}
:is(.legacy-page, .webflow-transfer-page) .hero-sub__content > .bttn { margin: 0; }
:is(.legacy-page, .webflow-transfer-page) .grid-overview h2.heading--simple {
  font-size: var(--type-h2);
  line-height: var(--leading-h2);
  margin: 0 0 var(--space-md);
}
@media (max-width: 479px) {
  :is(.legacy-page, .webflow-transfer-page) .hero-sub__content > p { font-size: var(--type-body); }
}
/* These archival pages use the CTA as a label, not an introductory paragraph. */
:is(.page-react-native-app-development-company, .page-top-react-native-posts-of-2024, .page-top-react-native-posts-of-2025) .hero-sub__content__cta h5 {
  font: 600 var(--type-h5)/var(--leading-lead) var(--font-sans);
  letter-spacing: var(--tracking-label);
}
:is(.legacy-page, .webflow-transfer-page) .hero-sub > .container { width: 100%; }
:is(.legacy-page, .webflow-transfer-page) .sub-intro > .container > .sub-intro__title {
  max-width: var(--reading-width);
  margin-inline: auto;
}
:is(.page-privacy-policy, .page-the-reverse-magic-trick-privacy-policy) .top-padding > .container {
  max-width: calc(var(--reading-width) + 2 * var(--page-gutter));
}

:is(.legacy-page, .webflow-transfer-page) :is(.article-content, .top-padding) > .container > :is(h1, h2, h3, p, ul, ol) {
  max-width: var(--reading-width);
}
.page-newsletter .hero__content--narrow {
  max-width: var(--reading-width);
  text-align: left;
}
.page-newsletter .hero__content--narrow h1 strong { font-weight: 600; }
.page-newsletter .hero__content--narrow p { text-align: left; }
@media (max-width: 767px) {
  .legacy-page .teammember { padding-inline: 0; }
}

/* Imported templates also occur inside the standard site-page renderer. */
:is(.imported-content, .legacy-page, .webflow-transfer-page) :is(.hero-sub__content, .hero__content--narrow, .sub-intro__title) {
  max-width: var(--reading-width);
  margin-inline: auto;
  text-align: left;
}

.imported-content .hero-sub__content-animation {
  justify-content: flex-start;
  text-align: left;
}

.page-ignite .ignite-hero-heading-container {
  align-self: flex-start;
  align-items: flex-start;
}

.page-ignite .ignite-hero-wrapper {
  justify-content: flex-start;
}

.page-ignite .ignite-hero-h1 {
  text-align: left;
}
