/*
 * Post body.
 *
 * The one place on the site given over to running prose, so it is the one place
 * capped by a reading measure rather than by the site container. Capped in ch,
 * which ties the line length to this type size instead of to a pixel count that
 * would stop being right the moment the size changed.
 *
 * The base reset strips list markers and underlines, both of which prose needs
 * back: a bulleted list in a press release has to look like one, and a link in
 * a paragraph has to be findable without relying on its colour.
 */

/*
	 * Centred rather than run down the left edge. The band above spans the full
	 * container, so a lone column of copy under one corner of it reads as though
	 * something meant to sit alongside had failed to load.
	 *
	 * In ch, which ties the line length to the type size below: bump one and the
	 * measure follows instead of having to be re-reckoned.
	 */

.entry__inner {
	max-inline-size: 76ch;
	margin-inline: auto;

	/* Carried here rather than on the copy so that ch above resolves against
		   the size the copy is actually set in, and the two cannot drift. */

	font-size: clamp(1.0625rem, 1rem + 0.25vw, 1.125rem);
}

.entry__content {
	color: var(--sk-gray-copy);
	line-height: 1.75;
	text-wrap: pretty;

	> :first-child {
		margin-block-start: 0;
	}

	> :last-child {
		margin-block-end: 0;
	}

	p {
		margin-block-end: 1.35em;
	}

	/* Subheads within a release sit closer to the copy they open than the
		   global heading scale allows, and drop out of the display sizes, which
		   are set for section titles rather than for paragraphs of a document. */

	h2,
	h3,
	h4 {
		margin-block: 2em 0.55em;
		color: var(--sk-black);
	}

	h2 {
		font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem);
	}

	h3 {
		font-size: clamp(1.0625rem, 1rem + 0.4vw, 1.25rem);
	}

	h4 {
		font-size: 1rem;
		letter-spacing: 0.04em;
	}

	strong {
		color: var(--sk-black);
	}

	a {
		text-decoration: underline;
		text-underline-offset: 0.18em;
	}

	ul,
	ol {
		margin-block-end: 1.35em;
		padding-inline-start: 1.375rem;
	}

	ul {
		list-style: disc;
	}

	ol {
		list-style: decimal;
	}

	li {
		margin-block-end: 0.4em;

		&::marker {
			color: var(--sk-accent);
		}
	}

	blockquote {
		margin-block: 2em;
		margin-inline: 0;
		border-inline-start: 4px solid var(--sk-accent);
		padding-inline-start: 1.5rem;
		color: var(--sk-black);
		font-size: 1.125rem;
		font-style: italic;
		line-height: 1.5;
	}

	figure {
		margin-block: 2em;
		margin-inline: 0;
	}

	figcaption {
		margin-block-start: 0.75rem;
		color: var(--sk-gray);
		font-size: 0.8125rem;
		line-height: 1.5;
	}

	hr {
		margin-block: 2.5em;
		border: 0;
		border-block-start: 1px solid color-mix(in srgb, var(--sk-gray) 26%, transparent);
	}
}

/* Set apart from the release rather than reading as its last line. */
.entry__back {
	margin-block: clamp(2.5rem, 5vw, 3.5rem) 0;

	a {
		display: inline-flex;
		gap: 0.5rem;
		align-items: center;
		color: var(--sk-black);
		font-family: var(--sk-font-display);
		font-size: 0.8125rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-decoration: none;
		text-transform: uppercase;

		&::before {
			color: var(--sk-accent);
			content: "\2190";
			transition: transform var(--sk-transition);
		}

		&:hover,
		&:focus-visible {
			color: var(--sk-accent);
			text-decoration: none;

			&::before {
				transform: translateX(-0.25rem);
			}
		}
	}
}
