/* === JM 4.1.13 alignment fixes === */

/* Shared rail inset: matches min(72rem, 100%-4rem) centered */
:root {
  --jm-inset: max(1.25rem, calc((100% - min(72rem, calc(100% - 2.5rem))) / 2));
}
@media (min-width: 1024px) {
  :root {
    --jm-inset: max(2rem, calc((100% - min(72rem, calc(100% - 4rem))) / 2));
  }
}

/* Page hero stack: kicker, H1, lede, buttons all share LEFT edge via --jm-inset */
.jm-page > :where(.jm-kicker, .wp-block-paragraph.jm-kicker),
.jm-page > :where(.wp-block-heading, h1),
.jm-page > :where(.jm-lede, .wp-block-paragraph.jm-lede),
.jm-page > .wp-block-buttons {
  width: auto !important;
  margin-left: var(--jm-inset) !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

.jm-page > :where(.wp-block-heading, h1) {
  max-width: min(20ch, calc(100% - 2 * var(--jm-inset))) !important;
}

.jm-page > :where(.jm-lede, .wp-block-paragraph.jm-lede) {
  max-width: min(40rem, calc(100% - 2 * var(--jm-inset))) !important;
}

.jm-page > :where(.jm-kicker, .wp-block-paragraph.jm-kicker) {
  max-width: none !important;
}

/* Section H2 + body on writing/contact/etc — same left edge, H2 not crushed/centered */
.jm-page--sections > :where(.wp-block-heading, h2),
.jm-page--sections > :where(.jm-muted, .wp-block-paragraph) {
  width: auto !important;
  margin-left: var(--jm-inset) !important;
  margin-right: auto !important;
}
.jm-page--sections > :where(.wp-block-heading, h2) {
  max-width: min(28ch, calc(100% - 2 * var(--jm-inset))) !important;
}
.jm-page--sections > :where(.jm-muted, .wp-block-paragraph) {
  max-width: min(44rem, calc(100% - 2 * var(--jm-inset))) !important;
}

/* Speak-topics kicker/list */
.jm-speak-topics > :where(.jm-kicker, .wp-block-paragraph, .wp-block-list, ul, .jm-topic-grid) {
  width: auto !important;
  max-width: min(72rem, calc(100% - 2 * var(--jm-inset))) !important;
  margin-left: var(--jm-inset) !important;
  margin-right: auto !important;
}

/* Home hero H1: fill the copy column (was capped ~480px / 7 lines) */
.jm-hero h1,
.jm-hero .wp-block-heading {
  max-width: none !important;
  width: auto !important;
}
.jm-hero .jm-hero-lede {
  max-width: 36rem !important;
}
@media (min-width: 960px) {
  .jm-hero .wp-block-columns.jm-hero__grid > .wp-block-column:first-child,
  .jm-hero .jm-hero__copy {
    /* match --jm-inset / 144 gutter at 1440 */
    padding: 5rem 2.5rem 4rem max(2rem, calc((100% - 72rem) / 2)) !important;
  }
}
