/* Editorial additions only. Shared tokens, type and UI live in atelier.css. */
.editorial-page .editorial-hero-grid,
.editorial-page .editorial-layout,
.editorial-page .editorial-cta {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.editorial-page .editorial-layout {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.editorial-page .editorial-hero-grid > *,
.editorial-page .editorial-layout > *,
.editorial-page .editorial-cta > * {
  min-width: 0;
}

.editorial-page .editorial-hero-grid h1 {
  max-width: 19ch;
  text-wrap: balance;
}

.editorial-page .editorial-hero-grid > .stack {
  align-items: flex-start;
}

.editorial-page .editorial-measure {
  max-width: 66ch;
}

.editorial-page .editorial-measure.stack > * + * {
  margin-block-start: 0;
}

.editorial-page .editorial-measure section > h3:first-child,
.editorial-page .editorial-decisions li > h3:first-child {
  margin-block-start: 0;
}

.editorial-page .editorial-measure section > :is(p, ul, ol),
.editorial-page .editorial-decisions li > p {
  margin-block-start: 1rem;
}

.editorial-page .editorial-label .section-heading {
  max-width: 23ch;
  text-wrap: balance;
}

.editorial-page .editorial-aside {
  align-self: end;
}

.editorial-page .editorial-aside-title {
  margin-block: 0 1rem;
  font-size: 1rem;
  line-height: 1.5;
}

.editorial-page .editorial-index {
  list-style: none;
  margin: 0;
  padding: 0;
}

.editorial-page .editorial-index li {
  border-block-start: 1px solid currentColor;
}

.editorial-page .editorial-index li:last-child {
  border-block-end: 1px solid currentColor;
}

.editorial-page .editorial-index a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.5rem;
  padding: 0.75rem 0;
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.editorial-page .editorial-index a:hover {
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

.editorial-page .editorial-index a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.editorial-page .editorial-index span {
  font-variant-numeric: tabular-nums;
  font-size: 0.8rem;
}

.editorial-page .editorial-note {
  margin-block: 1.5rem 0;
  font-size: 0.95rem;
  line-height: 1.7;
  max-width: 46ch;
}

.editorial-page .editorial-details {
  margin: 1.5rem 0 0;
}

.editorial-page .editorial-details > div {
  border-block-start: 1px solid currentColor;
  padding-block: 1rem;
}

.editorial-page .editorial-details dt {
  font-weight: 650;
}

.editorial-page .editorial-details dd {
  margin: 0.35rem 0 0;
  line-height: 1.65;
}

.editorial-page .editorial-review {
  border-block-start: 1px solid currentColor;
  padding-block-start: 1.5rem;
}

.editorial-page .editorial-decisions {
  margin: 0;
  padding: 0;
  list-style: none;
}

.editorial-page .editorial-decisions > li + li {
  border-block-start: 1px solid currentColor;
  margin-block-start: 1.5rem;
  padding-block-start: 1.5rem;
}

.editorial-page .editorial-cta {
  text-align: left;
  align-items: center;
}

.editorial-page .editorial-cta-actions {
  justify-self: end;
  align-items: flex-start;
}

.editorial-page .editorial-cta .section-heading {
  max-width: 26ch;
}

.editorial-page :is(article, section, h2, h3)[id] {
  scroll-margin-block-start: 7rem;
}

@media (max-width: 800px) {
  .editorial-page .editorial-hero-grid,
  .editorial-page .editorial-layout,
  .editorial-page .editorial-cta {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }

  .editorial-page .editorial-cta-actions {
    justify-self: start;
    width: 100%;
  }
}
