.preview-root {
  min-height: 100svh;
}

.preview-root:empty {
  min-height: 100svh;
  background:
    linear-gradient(var(--color-surface-hero), var(--color-surface-hero))
    var(--layout-hero-inset) var(--layout-hero-inset) /
    calc(100% - (var(--layout-hero-inset) * 2)) calc(100svh - (var(--layout-hero-inset) * 2))
    no-repeat;
}

.intro-copy {
  padding: var(--space-section-compact) var(--layout-page-pad) var(--space-section);
}

.intro-copy .reading-column {
  max-width: 48rem;
}

.intro-copy .prose-block:first-child {
  color: var(--color-content-secondary);
  font-family: var(--font-display);
  font-size: 1.375rem;
  line-height: 1.318;
}

.intro-copy .prose-block:last-child {
  color: var(--color-content-secondary);
  font-family: var(--font-display);
  font-size: 1.375rem;
  line-height: 1.318;
}

.editorial-layout,
.legal-layout {
  display: grid;
  width: min(100%, var(--layout-editorial-max));
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
  margin-inline: auto;
  padding-inline: var(--layout-page-pad);
}

.editorial-layout__rail,
.legal-layout__rail {
  min-width: 0;
}

.manifesto,
.legal-article {
  min-width: 0;
}

.manifesto .editorial-section:first-child,
.legal-article .legal-section:first-child {
  border-top: 0;
}

.home-preview .prose-flow p,
.home-preview .source-list li {
  font-size: 1.125rem;
  line-height: 1.55;
}

.editorial-section--2 {
  padding: 2rem 0.9375rem;
  border-radius: 1rem;
  background: var(--color-surface-panel, #e9eef3);
}

.editorial-section__surface {
  padding: 1.75rem 1.25rem;
  border-radius: 1rem;
  background: var(--color-surface-panel-inner, #fafbfc);
}

.editorial-section--2 .source-list {
  gap: var(--space-2);
  padding: 0;
  list-style: none;
  counter-reset: source-item;
}

.editorial-section--2 .source-list li {
  position: relative;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: start;
  gap: 0.75rem;
  padding-block: var(--space-3);
  counter-increment: source-item;
}

.editorial-section--2 .source-list li::before {
  color: var(--color-content-secondary);
  content: counter(source-item, decimal-leading-zero);
  font-size: 0.8125rem;
  font-weight: 650;
}

.home-preview .intro-copy .prose-block:first-child,
.home-preview .intro-copy .prose-block:last-child,
.home-preview .editorial-section--4 .prose-block:nth-child(2) {
  font-family: var(--font-display);
  font-size: 1.375rem;
  line-height: 1.318;
}

.editorial-section--4 .prose-block:nth-child(2) {
  margin-block: var(--space-5);
  padding-block: var(--space-7);
  border-block: 0.0625rem solid var(--color-content-secondary);
  color: var(--color-content-secondary);
  font-family: var(--font-display);
  font-size: 1.375rem;
  line-height: 1.318;
}

.legal-layout {
  padding-top: var(--space-section-compact);
}

.legal-article {
  max-width: var(--layout-reading-max);
}

.policy-preview .site-header:not(.is-stuck):not(.menu-is-open *) {
  background: transparent;
}

.policy-preview .legal-section h2 {
  text-wrap: pretty;
}

.policy-preview .legal-list {
  list-style: none;
  padding-left: 0;
}

.policy-preview .legal-list li {
  padding-left: 0;
}

.preview-error {
  width: min(calc(100% - 2rem), 42rem);
  margin: 20vh auto;
  padding: var(--space-6);
  border: 0.0625rem solid var(--color-border-subtle);
  border-radius: var(--radius-control);
  background: var(--color-surface-reading);
  color: var(--color-content-secondary);
}

@media (max-width: 47.999rem) {
  .hero {
    min-height: 94svh;
  }

  .hero__content {
    align-content: start;
    padding-top: calc(var(--header-height) + var(--space-8));
  }

  .hero h1 {
    font-size: 2.25rem;
    line-height: 1.1667;
  }

  .editorial-layout,
  .legal-layout {
    gap: 0;
  }

  .route__summary {
    position: sticky;
    z-index: 20;
    top: var(--header-height);
    background: var(--color-surface-page);
  }

  .editorial-section,
  .legal-section {
    gap: var(--space-6);
  }

  .site-footer__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .site-footer__actions .button {
    width: 100%;
  }

  .legal-hero {
    padding-inline: var(--space-5);
  }
}

@media (max-width: 22.499rem) {
  .legal-hero {
    padding-inline: 0.625rem;
  }
}

@media (min-width: 48rem) {
  .route > .route__summary,
  [data-route-details] > .route__summary {
    display: none;
  }

  .route > .route__nav,
  [data-route-details] > .route__nav {
    display: grid;
  }

  .intro-copy .prose-block:first-child,
  .intro-copy .prose-block:last-child,
  .editorial-section--4 .prose-block:nth-child(2) {
    font-size: 1.625rem;
    line-height: 1.23;
  }

  .home-preview .prose-flow p,
  .home-preview .source-list li {
    font-size: 1.25rem;
    line-height: 1.55;
  }

  .home-preview .intro-copy .prose-block:first-child,
  .home-preview .intro-copy .prose-block:last-child,
  .home-preview .editorial-section--4 .prose-block:nth-child(2) {
    font-size: 1.625rem;
    line-height: 1.23;
  }

  .editorial-layout,
  .legal-layout {
    padding-inline: var(--layout-page-pad);
  }

  .editorial-layout__rail,
  .legal-layout__rail {
    padding: var(--space-4);
    border: 0.0625rem solid var(--color-border-subtle);
    border-radius: var(--radius-control);
    background: var(--color-surface-reading);
  }

  .editorial-section--2 {
    padding: 3rem 1.25rem;
    border-radius: 1.25rem;
  }

  .editorial-section__surface {
    padding: 2.5rem;
    border-radius: 1.25rem;
  }

  .editorial-section--2 .source-list li {
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: 1.25rem;
  }

  .legal-data__item {
    grid-template-columns: minmax(9rem, 0.42fr) minmax(0, 1fr);
    gap: var(--space-6);
  }
}

@media (min-width: 62rem) {
  .editorial-section--2 {
    padding: 4.5rem 1.875rem;
  }

  .editorial-section__surface {
    padding: 3.5rem 3.75rem;
  }

  .editorial-layout,
  .legal-layout {
    grid-template-columns: var(--layout-rail-width) minmax(0, 1fr);
    gap: var(--space-9);
  }

  .editorial-layout__rail,
  .legal-layout__rail {
    align-self: start;
    position: sticky;
    top: calc(var(--header-height) + var(--space-7));
    padding: 0;
    border: 0;
    background: transparent;
  }

  .route__nav {
    max-height: calc(100svh - var(--header-height) - (var(--space-7) * 2));
    min-width: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    padding-block: 0;
    padding-inline-end: var(--space-2);
    scrollbar-gutter: stable;
  }

  .manifesto,
  .legal-article {
    max-width: 45rem;
  }

  .legal-layout {
    padding-top: var(--space-section);
  }
}

@media (min-width: 75rem) {
  .hero h1 {
    font-size: 3.5rem;
    line-height: 1.107;
  }

  .home-preview .intro-copy .prose-block:first-child,
  .home-preview .intro-copy .prose-block:last-child,
  .home-preview .editorial-section--4 .prose-block:nth-child(2) {
    font-size: 1.875rem;
    line-height: 1.2;
  }
}
