/* Layout helpers only — visual language comes from local css/layout.css.
   Do NOT invent alternate themes (cream paper, serif stacks, custom nav bars). */

.font-space,
.cover-title,
.social-link--grid,
.subpage-prose,
.subpage-prose h2,
.subpage-prose p,
.subpage-prose li,
.subpage-prose a,
.md-recovery {
  font-family: "gira-sans", "Gira Sans", sans-serif;
}

.app-cover--blank.subpage-cover {
  height: auto;
  min-height: 50vh;
}

.subpage-prose {
  margin-top: 0.5em;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8em;
  color: #020202;
}

.subpage-prose h2 {
  margin: 1.6em 0 0.55em;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.4;
  color: #000;
}

.subpage-prose p,
.subpage-prose ul {
  margin: 0 0 1em;
}

.subpage-prose li {
  margin: 0 0 0.4em;
}

.subpage-prose a {
  color: #000;
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  text-decoration: none;
  transition: all 0.2s;
}

.subpage-prose a:hover {
  color: #30f;
  border-bottom-color: #30f;
}

.subpage-prose strong {
  font-weight: 700;
}

/* Subpage heading crumb: gray alexmesch.com + nbsp gap + page title */
h1.cover-title a.page-crumb {
  color: #9a9a9a;
  text-decoration: none;
  border-bottom: none;
  font-weight: inherit;
}
h1.cover-title a.page-crumb:hover {
  color: #30f;
  text-decoration: none;
  border-bottom: none;
}

/* Homepage summary below the cover — visible to AI crawlers (not aria-hidden). */
.home-main {
  background: #fff;
  padding: 0 0 4rem;
  position: relative;
  clear: both;
}
.home-prose-wrap {
  max-width: 940px;
  margin: 0 auto;
  padding: 0 20px;
}
.home-prose {
  max-width: 40em;
}

/*
  Cover row sits in a flex parent (.flex-container). Without an explicit width the
  flex item shrink-wraps to the copy, pulling the right nav inward.
  Keep the cover block full-width; let .cover-title-wrap eat the left column;
  cap text measure in em relative to each text style (display vs body).
*/
.app-cover--blank .flex-container {
  width: 100%;
}
.app-cover--blank > .app-container-block > .flex-container > .flex-cover-block--wide {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}
.cover-title-wrap {
  width: 100%;
}
/* Home display H1 (~28px) — long multi-line title */
.app-cover--blank:not(.subpage-cover) .cover-title-wrap > .cover-title {
  max-width: 30em;
}
/* Subpage crumb title + body copy (~15px prose) — body-proportional measure */
.subpage-cover .cover-title-wrap > .cover-title,
.subpage-cover .cover-title-wrap > .subpage-prose {
  max-width: 34em;
}

/* 404 machine-readable recovery block for agents scraping HTML */
.md-recovery {
  margin-top: 1.5rem;
  padding: 1rem;
  overflow: auto;
  white-space: pre-wrap;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #444;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.12);
}
