.site-main {
  min-height: 60vh;
}

/* Match the additional top clearance used by case-study posts. The homepage
   has its own hero spacing and does not use this template modifier. */
.site-main--page {
  padding-top: var(--gap-large);
}

.site-container,
.alignwide {
  width: min(100% - (2 * var(--page-gutter)), var(--wide-width));
  margin-inline: auto;
}

.site-container--content,
.alignnormal,
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)) {
  width: min(100% - (2 * var(--page-gutter)), var(--content-width));
  margin-inline: auto;
}

.site-container--media,
.alignmedia {
  width: min(100% - (2 * var(--page-gutter)), var(--media-width));
  margin-inline: auto;
}

.alignfull {
  width: 100%;
  max-width: none;
}

.site-section {
  padding-block: var(--section-padding);
}

.side-by-side {
  padding-block: var(--section-padding);
}

.side-by-side__grid {
  display: grid;
  grid-template-columns: minmax(0, 900fr) minmax(20rem, 732fr);
  gap: var(--gap-large);
  align-items: center;
}

.side-by-side--reverse .side-by-side__content { order: 2; }
.side-by-side--reverse .side-by-side__media { order: 1; }

.side-by-side__content {
  display: grid;
  gap: var(--gap-medium);
  max-width: var(--side-content-max);
}

.side-by-side__media {
  aspect-ratio: 1;
  overflow: hidden;
  border: var(--border-width-default) solid var(--border-default);
  border-radius: var(--radius-hero);
  box-shadow: var(--shadow-card);
}

.side-by-side__media img { width: 100%; height: 100%; object-fit: cover; }

.site-section--light {
  color: var(--text-default);
  background: var(--background-default);
}

.site-section--muted {
  color: var(--text-default);
  background: var(--background-subtle);
}

.site-section--dark {
  color: var(--text-default);
  background: var(--background-default);
}

.split-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gap-large);
  align-items: center;
}

.split-layout--reverse .split-layout__content {
  order: 2;
}

.split-layout--reverse .split-layout__media {
  order: 1;
}

/* Temporary compatibility while editor content is migrated. */
.pt24 { padding-top: var(--space-3); }
.pt48 { padding-top: var(--space-5); }
.pt80 { padding-top: var(--space-6); }
.pb24 { padding-bottom: var(--space-3); }
.pb48 { padding-bottom: var(--space-5); }
.pb80 { padding-bottom: var(--space-6); }
.blackbackground { color: var(--text-default); background: var(--background-default); }
.tcontent { max-width: var(--content-width); }
