@layer components {
  /* Landing page hero */
  .hero {
    display: grid;
    justify-items: center;
    gap: var(--space-m);
    padding-block: var(--space-xl) var(--space-2xl);
    text-align: center;

    & h1 {
      font-size: var(--step-5);
      font-weight: 420;
      max-inline-size: 18ch;

      & em {
        font-style: italic;
        color: var(--color-accent);
      }
    }

    & .cluster {
      justify-content: center;
    }
  }

  .hero__lead {
    color: var(--color-text-muted);
    font-size: var(--step-1);
    max-inline-size: 38ch;
  }

  .eyebrow {
    color: var(--color-accent);
    font-size: var(--step--1);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .feature {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);

    & h3 {
      font-size: var(--step-1);
    }

    & p {
      color: var(--color-text-muted);
    }
  }

  /* Long-form text pages (imprint, privacy) */
  .prose {
    display: flex;
    flex-direction: column;
    gap: var(--space-s);

    & h2 {
      margin-block-start: var(--space-s);
    }
  }
}

@layer components {
  .prose {
    & ul {
      display: grid;
      gap: var(--space-2xs);
      padding-inline-start: 1.2em;
    }

    & h2 { font-size: var(--step-1); }
  }

  /* Placeholders in legal templates that still need real content */
  mark.placeholder {
    padding: 0 0.2em;
    border-radius: var(--radius-s);
    background-color: color-mix(in oklab, var(--color-warning) 22%, transparent);
    color: inherit;
  }
}
