/* PROMAT layout and surface system */

html,
body {
  background: var(--book-bg);
  color: var(--book-fg);
}

body.app-shell {
  isolation: isolate;
}

body.app-shell.page-landing {
  grid-template-areas:
    "main"
    "footer";
  grid-template-rows: minmax(0, 1fr) auto;
}

#main-content,
main.site-main,
.site-main {
  background: transparent;
  overflow: visible;
}

.pm-content-wrapper,
.md3-content-wrapper {
  margin: 0 auto;
}

body.app-shell.page-landing .pm-content-wrapper,
body.app-shell.page-landing .md3-content-wrapper {
  min-height: 100%;
  width: min(100%, var(--pm-layout-shell-max-width-current));
  max-width: var(--pm-layout-shell-max-width-current);
  padding: clamp(4.5rem, 9vh, 7rem) var(--promat-shell-inline-padding) var(--pm-space-xxl);
}

.promat-page,
.pm-content {
  display: grid;
  gap: var(--pm-layout-section-gap);
  max-width: min(100%, var(--pm-layout-content-width-current));
  margin: 0 auto;
}

.pm-admin-page--wide {
  width: 100%;
  max-width: none;
}

.landing-page {
  display: grid;
  gap: clamp(3.5rem, 6vw, 5.5rem);
  width: min(100%, 74rem);
  max-width: 74rem;
  min-height: 100%;
  align-content: start;
}

.landing-page__utility {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

.landing-hero {
  display: grid;
  justify-items: center;
  gap: var(--pm-space-container);
  text-align: center;
}

.landing-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--pm-space-grid);
  width: min(100%, 50rem);
  max-width: 50rem;
  margin-inline: auto;
  align-items: stretch;
}

.landing-grid > .landing-card {
  min-height: 100%;
  width: min(100%, var(--pm-card-max-inline-entry));
  max-width: var(--pm-card-max-inline-entry);
  justify-self: center;
}

.pm-reading {
  width: min(100%, var(--pm-layout-reading-width));
  max-width: var(--pm-layout-reading-width);
  margin-inline: auto;
}

.pm-feature-band {
  width: min(100%, var(--pm-layout-feature-width));
  max-width: var(--pm-layout-feature-width);
  margin-inline: auto;
}

.pm-content-header {
  display: grid;
  gap: 0;
  padding-bottom: var(--pm-content-header-padding-bottom);
}

.pm-content-header__back,
.pm-back-link {
  justify-self: start;
}

.pm-content-header__back {
  width: 100%;
  box-sizing: border-box;
}

.pm-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pm-content-header-breadcrumb-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.pm-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  gap: var(--pm-content-header-breadcrumb-item-gap);
  min-width: 0;
}

.pm-content-header__title,
.pm-content-header__intro {
  margin: 0;
}

.pm-content-header__back + .pm-breadcrumb {
  margin-top: var(--pm-content-header-back-link-gap);
}

.pm-breadcrumb + .pm-content-header__title {
  margin-top: var(--pm-content-header-breadcrumb-title-gap);
}

.pm-content-header__back + .pm-content-header__title {
  margin-top: var(--pm-content-header-breadcrumb-title-gap);
}

@media (min-width: 980px) {
  .pm-breadcrumb--mobile-only {
    display: none;
  }

  .pm-breadcrumb--mobile-only + .pm-content-header__title {
    margin-top: 0;
  }
}

.pm-content-header__title + .pm-content-header__intro {
  margin-top: var(--pm-content-header-title-intro-gap);
}

.promat-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pm-content-header-actions-gap);
}

.promat-page__sections {
  display: grid;
  gap: var(--pm-layout-section-gap);
}

.promat-content-section {
  display: grid;
  gap: var(--pm-space-container);
}

.pm-stack {
  display: grid;
  gap: var(--pm-space-container);
}

.pm-stack--inline {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pm-space-sm);
}

.pm-panel,
.promat-content-block {
  display: block;
}

.promat-content-block > * {
  margin: 0;
}

.promat-content-block__list {
  padding-left: 1.15rem;
}

.promat-content-block__list li + li {
  margin-top: var(--pm-reading-list-item-gap);
}

.pm-literature,
.pm-literature-abbreviations {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.pm-literature li {
  margin: 0 0 var(--pm-literature-item-gap) 0;
  padding-left: var(--pm-literature-indent);
  text-indent: calc(-1 * var(--pm-literature-indent));
}

.pm-literature-abbreviations li {
  display: grid;
  grid-template-columns: minmax(0, var(--pm-literature-abbreviation-width)) minmax(0, 1fr);
  column-gap: var(--pm-literature-abbreviation-gap);
  margin: 0 0 var(--pm-literature-abbreviation-item-gap) 0;
}

.promat-content-block__table-wrap,
.pm-embed-block {
  margin-top: var(--pm-reading-paragraph-gap);
}

.pm-reading :where(p, ul, ol) {
  margin: 0;
}

.pm-reading :where(p + p, p + ul, p + ol, ul + p, ol + p, ul + ul, ol + ol, ul + ol, ol + ul) {
  margin-top: var(--pm-reading-paragraph-gap);
}

.pm-reading :where(p, ul, ol) + :where(h2, .promat-content-block__title) {
  margin-top: var(--pm-reading-heading-gap-before-h2);
}

.pm-reading :where(h2, .promat-content-block__title) + :where(p, ul, ol) {
  margin-top: var(--pm-reading-heading-gap-after-h2);
}

.pm-reading :where(p, ul, ol) + h3 {
  margin-top: var(--pm-reading-heading-gap-before-h3);
}

.pm-reading :where(h3) + :where(p, ul, ol) {
  margin-top: var(--pm-reading-heading-gap-after-h3);
}

.pm-reading :where(.pm-research-table-wrap, figure) + :where(p, ul, ol, h2, .promat-content-block__title) {
  margin-top: var(--pm-reading-paragraph-gap);
}

.pm-grid,
.promat-card-grid {
  display: grid;
  gap: var(--pm-space-grid);
}

.pm-feature-band.pm-grid,
.pm-feature-band > .pm-grid {
  width: 100%;
}

.pm-grid--feature,
.promat-card-grid--feature {
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

.pm-grid--selection {
  grid-template-columns: 1fr;
}

@media (min-width: 700px) {
  .pm-grid--selection {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.pm-grid--meta,
.promat-card-grid--meta {
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}

.pm-grid--team-lead,
.pm-grid--team-corpus {
  grid-template-columns: 1fr;
  gap: clamp(0.78rem, 1.55vw, 0.98rem);
}

.pm-feature-band > .pm-grid--team-lead,
.pm-feature-band > .pm-grid--team-corpus {
  width: min(100%, 46rem);
  max-width: 46rem;
  margin-inline: auto;
}

@media (min-width: 760px) {
  .pm-grid--team-lead,
  .pm-grid--team-corpus {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.pm-research-page {
  gap: var(--pm-space-lg);
}

.pm-research-task-band,
.pm-research-quick-filter-band,
.pm-research-results-stack,
.pm-comparison-flow,
.pm-comparison-material-card,
.pm-comparison-material-bar,
.pm-comparison-material-context,
.pm-comparison-material-context-actions,
.pm-comparison-material-panel,
.pm-comparison-material-controls,
.pm-comparison-session-panel,
.pm-comparison-session-tools,
.pm-comparison-session-groups,
.pm-comparison-session-group,
.pm-comparison-filter-summary,
.pm-comparison-filter-zone,
.pm-comparison-step-header,
.pm-comparison-set-summary,
.pm-comparison-matrix-panel,
.pm-comparison-matrix__item-header,
.pm-phenomena-layout,
.pm-phenomena-column,
.pm-phenomena-preset-grid,
.pm-phenomena-status-card,
.pm-phenomena-launcher,
.pm-phenomena-launcher__controls,
.pm-phenomena-launcher__actions,
.pm-phenomena-items-panel,
.pm-phenomena-browser-panel,
.pm-phenomena-browser-controls,
.pm-phenomena-item-list,
.pm-phenomena-browser-results,
.pm-phenomena-panel-header,
.pm-phenomena-section-intro,
.pm-player-layout,
.pm-player-runtime,
.pm-player-stub-layout,
.pm-profile-layout {
  display: grid;
  gap: var(--pm-space-container);
}

.pm-research-status-stack,
.pm-comparison-item,
.pm-comparison-session-card,
.pm-comparison-speaker-row__body,
.pm-phenomena-item,
.pm-phenomena-browser-result,
.pm-phenomena-preview-list {
  display: grid;
  gap: var(--pm-space-sm);
}

.pm-research-desktop-filters,
.pm-player-summary,
.pm-profile-hero,
.pm-profile-card,
.pm-profile-actions,
.pm-profile-navigation {
  min-width: 0;
}

.pm-research-mobile-filters {
  display: none;
}

.pm-research-desktop-filters {
  display: block;
}

.pm-task-panel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--pm-research-task-panel-min)), 1fr));
  gap: var(--pm-space-sm);
}

.pm-speaker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--pm-research-speaker-card-min)), var(--pm-research-speaker-card-max)));
  gap: var(--pm-space-grid);
  justify-content: start;
}

.pm-research-results-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--pm-space-sm);
}

.pm-phenomena-preset-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.pm-comparison-session-list,
.pm-comparison-item-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pm-comparison-level-filters,
.pm-comparison-active-filters {
  min-width: 0;
}

.pm-comparison-matrix-wrap {
  width: 100%;
  overflow-x: auto;
  padding-bottom: 0.2rem;
  position: relative;
}

.pm-comparison-matrix-wrap::after {
  content: "";
  position: sticky;
  right: 0;
  display: block;
  width: 2.4rem;
  margin-left: auto;
  top: 0;
  bottom: 0;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--pm-surface-paper) 0%, transparent) 0%,
    color-mix(in srgb, var(--pm-surface-paper) 78%, transparent) 100%
  );
}

.pm-comparison-matrix {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.pm-phenomena-item-list,
.pm-phenomena-browser-results,
.pm-phenomena-preview-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pm-profile-layout,
.pm-player-layout,
.pm-player-stub-layout {
  grid-template-columns: minmax(0, 1fr);
}

.pm-player-runtime__inner {
  display: grid;
  gap: var(--pm-space-container);
}

.pm-player-runtime__interactive {
  display: grid;
  gap: var(--pm-space-container);
}

.pm-player-control-bar,
.pm-player-control-bar__row,
.pm-player-control-bar__block,
.pm-player-summary-cards,
.pm-player-list,
.pm-player-list__row,
.pm-player-list__header,
.pm-player-transcript,
.pm-player-transcript__row,
.pm-player-transcript__meta,
.pm-player-transcript__body,
.pm-player-timeline-row,
.pm-player-transport-cluster,
.pm-player-transport-main,
.pm-player-speaker-tabs {
  display: grid;
  gap: var(--pm-space-sm);
}

.pm-profile-session-list {
  display: grid;
  gap: var(--pm-space-sm);
}

.pm-player-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 900px) {
  .pm-comparison-session-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .pm-comparison-material-bar {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }

  .pm-comparison-filter-summary {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
  }

  .pm-phenomena-layout {
    grid-template-columns: minmax(18rem, 0.95fr) minmax(0, 1.25fr);
    align-items: start;
  }

  .pm-player-control-bar {
    grid-template-columns: minmax(0, 1.45fr) auto;
    align-items: stretch;
    column-gap: var(--pm-space-lg);
  }

  .pm-player-control-bar__row--transport {
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
  }

  .pm-player-control-bar__row--settings {
    grid-template-columns: repeat(2, minmax(0, 13.5rem));
    align-items: start;
    justify-content: start;
  }

  .pm-player-list__row--single {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
  }

  .pm-player-runtime__inner[data-player-compare-open="false"] .pm-player-summary-cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .pm-player-runtime__inner[data-player-compare-open="true"] .pm-player-summary-cards.is-compare-ready,
  .pm-player-list__header--compare,
  .pm-player-list__row--compare {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--pm-space-sm);
  }

  .pm-player-transcript__row {
    grid-template-columns: minmax(9.1rem, 10.8rem) minmax(0, 1fr);
    column-gap: 1.45rem;
    align-items: start;
  }

  .pm-player-runtime__inner[data-player-compare-open="true"] .pm-player-summary-cards.is-compare-ready > [data-player-speaker-card] {
    grid-column: auto;
  }

}

@media (max-width: 899px) {
  .pm-research-desktop-filters {
    display: none;
  }

  .pm-research-mobile-filters {
    display: block;
  }

  .pm-player-compare-desktop,
  .pm-player-panel--compare {
    display: none;
  }

  .pm-player-control-bar__row--transport,
  .pm-player-control-bar__row--settings,
  .pm-player-list__header,
  .pm-player-list__row--compare,
  .pm-player-transcript__row {
    grid-template-columns: 1fr;
  }

  .pm-player-list__row--single {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    column-gap: var(--pm-space-sm);
  }
}

.pm-phenomena-overview,
.pm-phenomena-editor,
.pm-phenomena-editor__workspace-head,
.pm-phenomena-overview__toolbar,
.pm-phenomena-overview__toolbar-inner,
.pm-phenomena-overview__controls,
.pm-phenomena-overview__list-shell,
.pm-phenomena-overview__list,
.pm-phenomena-overview-card,
.pm-phenomena-overview-card__body,
.pm-phenomena-overview-card__meta,
.pm-phenomena-overview-card__actions,
.pm-phenomena-editor__workspace-head,
.pm-phenomena-editor__header,
.pm-phenomena-editor__header-main,
.pm-phenomena-editor__title-row,
.pm-phenomena-editor__header-actions,
.pm-phenomena-editor__note-card,
.pm-phenomena-editor__status-row,
.pm-phenomena-editor__sources,
.pm-phenomena-source-column,
.pm-phenomena-source-column__header,
.pm-phenomena-source-column__search,
.pm-phenomena-source-column__actions,
.pm-phenomena-source-list,
.pm-phenomena-selected,
.pm-phenomena-selected__header,
.pm-phenomena-selected__list,
.pm-phenomena-selected-item,
.pm-phenomena-selected-item__body,
.pm-phenomena-source-item__body {
  display: grid;
  gap: var(--pm-space-md);
}

.pm-phenomena-overview,
.pm-phenomena-editor {
  gap: var(--pm-space-lg);
}

.pm-phenomena-overview__controls {
  grid-template-columns: minmax(16rem, 22rem) auto;
  align-items: end;
  justify-content: end;
}

.pm-phenomena-overview__list,
.pm-phenomena-source-list,
.pm-phenomena-selected__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pm-phenomena-overview-card {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.pm-phenomena-overview-card__meta,
.pm-phenomena-editor__status-row,
.pm-phenomena-source-column__actions,
.pm-phenomena-editor__header-actions,
.pm-phenomena-overview-card__actions {
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  justify-content: start;
  align-items: center;
}

.pm-phenomena-editor__header {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.pm-phenomena-editor__title-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.pm-phenomena-editor__sources {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.pm-phenomena-source-column__header {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.pm-phenomena-selected-item {
  grid-template-columns: 2.45rem minmax(0, 1fr) auto;
  column-gap: 0.82rem;
  align-items: center;
}

@media (max-width: 899px) {
  .pm-phenomena-overview__toolbar,
  .pm-phenomena-overview__toolbar-inner,
  .pm-phenomena-overview__controls,
  .pm-phenomena-overview-card,
  .pm-phenomena-editor__header,
  .pm-phenomena-editor__sources,
  .pm-phenomena-source-column__header,
  .pm-phenomena-selected-item {
    grid-template-columns: 1fr;
  }

  .pm-phenomena-source-column__actions,
  .pm-phenomena-editor__header-actions,
  .pm-phenomena-selected-item__actions,
  .pm-phenomena-overview-card__actions,
  .pm-phenomena-overview-card__meta,
  .pm-phenomena-editor__status-row {
    grid-auto-flow: row;
    grid-auto-columns: auto;
  }
}

.pm-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--pm-card-grid-min-column)), 1fr));
  gap: var(--pm-grid-gap, var(--pm-space-grid));
  max-width: min(100%, 82rem);
  margin-inline: auto;
  align-items: stretch;
}

.pm-feature-band .pm-card-grid {
  grid-template-columns: repeat(2, 1fr);
  max-width: min(100%, 46rem);
}

@media (max-width: 767px) {
  .pm-card-grid,
  .pm-feature-band .pm-card-grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
  }
}

.pm-card-grid > .pm-card {
  min-height: 100%;
  width: min(100%, var(--pm-card-max-inline));
  max-width: var(--pm-card-max-inline);
  justify-self: center;
}

.pm-grid--feature > .pm-card,
.pm-grid--meta > .pm-card,
.promat-card-grid--feature > .pm-card,
.promat-card-grid--meta > .pm-card {
  width: min(100%, var(--pm-card-max-inline));
  max-width: var(--pm-card-max-inline);
  justify-self: center;
}

.pm-grid--selection > .pm-card {
  width: min(100%, var(--pm-card-max-inline-selection));
  max-width: var(--pm-card-max-inline-selection);
}

.pm-panel-grid {
  display: grid;
  gap: var(--pm-space-grid);
  max-width: min(100%, 82rem);
  margin-inline: auto;
}

.pm-admonition-stack {
  display: grid;
  gap: var(--pm-admonition-stack-gap);
  width: min(100%, var(--pm-admonition-stack-max-width));
  max-width: var(--pm-admonition-stack-max-width);
  margin-inline: auto;
}

.pm-admonition-stack > .pm-admonition {
  margin: 0;
}

.pm-card-grid--compact {
  max-width: 100%;
}

.pm-teaching-content-wide,
.pm-teaching-block-grid {
  width: min(100%, 70rem);
  max-width: 70rem;
  margin-inline: auto;
}

.pm-teaching-topic-header {
  width: min(100%, 68rem);
  max-width: 68rem;
  margin-inline: auto;
}

.pm-teaching-topic-metadata {
  width: min(100%, 56rem);
  max-width: 56rem;
  margin-inline: auto;
  justify-self: center;
}

.pm-teaching-page--topic .pm-teaching-block-grid {
  width: min(100%, 66rem);
  max-width: 66rem;
}

.pm-teaching-page--topic .pm-teaching-block--further-reading {
  width: min(var(--pm-teaching-further-reading-inline-width), var(--pm-teaching-further-reading-max-width));
  max-width: 100%;
  margin-inline: auto;
}

.pm-teaching-block-grid {
  display: grid;
  row-gap: clamp(1rem, 2vw, 1.45rem);
  column-gap: var(--pm-space-grid);
}

.pm-teaching-block {
  min-width: 0;
}

.pm-teaching-locale-switch__items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.pm-teaching-overview__intro,
.pm-teaching-overview__prompt,
.pm-teaching-topic-group__header {
  display: grid;
  gap: var(--pm-space-xs);
}

.pm-teaching-language-list,
.pm-teaching-group-stack,
.pm-teaching-topic-group,
.pm-teaching-topic-grid {
  display: grid;
  gap: var(--pm-space-grid);
}

.pm-teaching-language-list {
  width: min(100%, 38rem);
  margin-inline: auto;
  gap: 0.82rem;
}

.pm-teaching-group-stack {
  gap: clamp(2.4rem, 2rem + 1vw, 3.3rem);
}

.pm-teaching-topic-group {
  width: min(100%, 68rem);
  max-width: 68rem;
  margin-inline: auto;
  gap: 1rem;
}

.pm-teaching-page--overview .pm-content-header,
.pm-teaching-page--hub .pm-content-header,
.pm-teaching-page--topic .pm-content-header {
  width: min(100%, 68rem);
  max-width: 68rem;
  margin-inline: auto;
}

.pm-teaching-page--overview .pm-content-header {
  width: min(100%, 58rem);
  max-width: 58rem;
  justify-items: center;
  text-align: center;
  gap: clamp(0.45rem, 0.9vw, 0.72rem);
}

.pm-teaching-page--hub .pm-content-header {
  justify-items: center;
  text-align: center;
}

.pm-teaching-overview__intro,
.pm-teaching-overview__prompt {
  width: min(100%, 58rem);
  margin-inline: auto;
  justify-items: center;
  text-align: center;
}

.pm-teaching-page--overview .pm-teaching-overview__intro {
  margin-top: clamp(0.16rem, 0.55vw, 0.42rem);
}

.pm-teaching-topic-grid {
  gap: 0.9rem;
}

.pm-teaching-page--overview .pm-content-header__intro,
.pm-teaching-page--hub .pm-content-header__intro,
.pm-teaching-page--topic .pm-content-header__intro {
  max-width: min(100%, 72ch);
}

.pm-teaching-page--topic .pm-breadcrumb,
.pm-teaching-page--topic .pm-content-header__title,
.pm-teaching-page--topic .pm-content-header__intro {
  width: min(100%, 56rem);
  max-width: 56rem;
  justify-self: center;
}

.pm-teaching-page--overview .pm-content-header__intro,
.pm-teaching-page--hub .pm-content-header__intro {
  margin-inline: auto;
}

.pm-teaching-page--topic .pm-teaching-topic-header {
  margin-bottom: clamp(2.6rem, 4.8vw, 4.15rem);
}

.pm-teaching-page--hub .pm-teaching-topic-grid {
  align-items: start;
}

.pm-teaching-topic-grid {
  grid-template-columns: minmax(0, 1fr);
  max-width: 100%;
}

.pm-teaching-topic-grid--compact {
  width: min(100%, 48rem);
  margin-inline: auto;
}

.pm-teaching-block-grid > .pm-teaching-block.pm-reading {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.pm-teaching-credits__groups {
  display: grid;
  gap: var(--pm-space-grid);
}

@media (min-width: 760px) {
  .landing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-panel-grid,
  .pm-card-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-teaching-topic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pm-teaching-block-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .pm-teaching-block--span-2,
  .pm-teaching-block--span-3 {
    grid-column: 1 / -1;
  }

  .pm-teaching-credits__groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 759px) {
  .pm-teaching-page--topic .pm-teaching-block--further-reading {
    width: 100%;
  }
}

@media (min-width: 980px) {
  body.app-shell.page-landing .pm-content-wrapper,
  body.app-shell.page-landing .md3-content-wrapper {
    display: block;
  }

  .pm-teaching-topic-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pm-teaching-topic-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.promat-auth-page__section {
  width: min(100%, var(--pm-layout-reading-width));
  max-width: var(--pm-layout-reading-width);
  margin-inline: auto;
}

.promat-auth-page {
  gap: clamp(1.5rem, 2vw, 2rem);
}

.promat-auth-page__section--public {
  display: grid;
  gap: clamp(1.4rem, 2.4vw, 1.8rem);
}

.md3-page__header,
.md3-page__main,
.md3-text-page {
  max-width: min(100%, 48rem);
  margin-inline: auto;
}

.pm-content :where(.grid.cards) {
  display: grid;
  gap: var(--pm-space-grid);
}

.pm-content :where(.grid.cards > *) {
  border: 1px solid var(--pm-border-default);
  border-radius: var(--pm-radius-container);
  box-shadow: none;
  background: var(--pm-surface-paper);
}

@media (min-width: 980px) {
  .pm-content-wrapper,
  .md3-content-wrapper {
    padding-left: var(--promat-shell-inline-padding);
    padding-right: var(--promat-shell-inline-padding);
  }

  .promat-page,
  .pm-content {
    margin: 0;
  }
}

@media (max-width: 979px) {
  .promat-page,
  .pm-reading,
  .pm-feature-band,
  .pm-content-header,
  .promat-page__sections {
    max-width: 100%;
  }
}
