/*
 * Heading and introduction blocks follow the width of the section they describe.
 * Reading columns inside articles remain deliberately readable.
 */
h1,
.lead,
.section-heading,
.section-heading.split > div,
.page-hero .narrow-left,
.article-title,
.tool-heading,
.page-hero p,
.article-title > p,
.tool-heading > p,
.tool-page .tool-heading h1,
.tool-page .direct-answer,
.tool-use-note,
.guide-article .guide-answer,
.guide-library > p,
.guide-group > p,
.worked-comparison > p {
  max-width: none;
}

.section-heading {
  width: 100%;
}

.section-heading.split > div {
  flex: 1 1 auto;
}

.page-hero .narrow-left,
.article-title,
.tool-heading {
  width: min(calc(100% - 40px), var(--max));
  margin-inline: auto;
  min-width: 0;
}

/*
 * Hero measure
 *
 * The homepage illustration is supporting material, so the copy receives the
 * larger share of the desktop grid. Inner-page heroes use the same full shell
 * instead of falling back to the older 900px and 940px content measures.
 */
.hero-grid {
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.75fr);
  gap: clamp(32px, 5vw, 64px);
  min-height: clamp(610px, 68vh, 690px);
}

.hero-copy {
  min-width: 0;
  width: 100%;
}

.hero-copy h1,
.page-hero h1,
.article-hero h1,
.tool-hero h1 {
  width: 100%;
  max-width: none;
  text-wrap: balance;
  overflow-wrap: normal;
}

.hero-copy h1 {
  font-size: clamp(3.2rem, 4.4vw, 4.4rem);
}

.hero-copy .lead,
.page-hero .direct-answer,
.page-hero .narrow-left > p,
.article-title > p,
.tool-heading > p {
  width: 100%;
  max-width: none;
  text-wrap: pretty;
}

.page-hero h1,
.article-title h1,
.tool-heading h1 {
  font-size: clamp(3rem, 5vw, 5rem);
}

.hero-art img {
  width: 138%;
}

@media (max-width: 980px) {
  .hero-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    min-height: 0;
  }

  .hero-copy {
    padding: clamp(56px, 8vw, 78px) 0 42px;
  }

  .hero-copy h1,
  .page-hero h1,
  .article-title h1,
  .tool-heading h1 {
    font-size: clamp(3rem, 6vw, 4.15rem);
  }

  .hero-art {
    height: clamp(330px, 46vw, 440px);
  }

  .hero-art img {
    width: 100%;
    left: 0;
  }
}

@media (max-width: 700px) {
  .page-hero .narrow-left,
  .article-title,
  .tool-heading {
    width: min(calc(100% - 28px), var(--max));
  }

  .hero-copy {
    padding: 46px 0 34px;
  }

  .hero-copy h1,
  .page-hero h1,
  .article-title h1,
  .tool-heading h1 {
    font-size: clamp(2.35rem, 9.2vw, 3rem);
    line-height: 1.02;
    overflow-wrap: break-word;
  }

  .hero-copy .lead,
  .page-hero .direct-answer,
  .page-hero .narrow-left > p,
  .article-title > p,
  .tool-heading > p {
    font-size: 1.06rem;
    line-height: 1.55;
  }

  .page-hero,
  .article-hero,
  .tool-hero,
  .page-hero.compact {
    padding-top: 48px;
    padding-bottom: 52px;
  }

  .hero-art {
    height: clamp(250px, 78vw, 330px);
  }
}

/* Square, publication-style geometry across every interface component. */
:root {
  --radius: 0;
}

*,
*::before,
*::after {
  border-radius: 0 !important;
}

/* Editorial sequences use an arrow, never decorative 01, 02, 03 numbering. */
.sequence-list {
  counter-reset: none;
}

.sequence-list li::before {
  counter-increment: none;
  content: "→";
}
