/* ==========================================================================
   Block content typography: news posts and standard pages (mirrors assets/css/editor.css).
   ========================================================================== */
.entry { color: var(--c-ink); font-size: var(--fs-body); line-height: 1.7; }
.entry > * + * { margin-block-start: 1.25em; }
.entry > :first-child { margin-block-start: 0; }
.entry h2 {
	margin-block-start: 2em;
	font-size: clamp(1.875rem, 1.5rem + 1.2vw, 2.625rem);
	line-height: 1.15;
}
.entry h3 {
	margin-block-start: 1.75em;
	font-size: clamp(1.5rem, 1.3rem + 0.6vw, 1.875rem);
}
.entry h2 + *,
.entry h3 + * { margin-block-start: 0.75em; }
.entry a { text-decoration-color: var(--c-gold-deep); text-underline-offset: 0.2em; }
.entry a:hover { color: var(--c-gold-deep); }
/* A phone number never breaks across lines ([msa_phone] in legal pages). */
.entry a[href^="tel:"] { white-space: nowrap; }
.entry ul,
.entry ol { padding-inline-start: 1.25em; }
.entry ul { list-style: disc; } /* block lists carry a class, which the base reset strips */
.entry ol { list-style: decimal; }
.entry li + li { margin-block-start: 0.5em; }
.entry ul li::marker { color: var(--c-gold-deep); }
.entry ol li::marker { color: var(--c-gold-deep); font-family: var(--font-display); font-weight: 600; }

.entry blockquote,
.entry .wp-block-quote {
	margin-inline: 0;
	padding-block: 0.25em;
	padding-inline-start: var(--s-4);
	border-inline-start: 1px solid var(--c-gold);
	color: var(--c-ink);
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 1.25rem + 0.8vw, 2rem);
	font-weight: 500;
	line-height: 1.3;
}
.entry blockquote p { margin: 0; }
.entry blockquote cite { display: block; margin-block-start: 0.75em; font-family: var(--font-text); font-size: var(--fs-small); font-style: normal; color: var(--c-slate); }

.entry figure { margin-inline: 0; }
.entry figure img { width: 100%; height: auto; }
.entry figcaption,
.entry .wp-element-caption {
	margin-block-start: 0.75em;
	padding-inline-start: var(--s-2);
	border-inline-start: 1px solid var(--c-gold);
	color: var(--c-slate);
	font-size: var(--fs-xs);
	line-height: 1.5;
}

/* Tables scroll inside their figure on narrow screens. */
.entry .wp-block-table { overflow-x: auto; }
.entry table { width: 100%; min-width: 32rem; border-collapse: collapse; font-size: var(--fs-small); line-height: 1.5; }
.entry th,
.entry td { padding: 0.875rem 1rem 0.875rem 0; border-block-end: 1px solid var(--line-light); text-align: start; vertical-align: top; }
.entry thead th { border-block-end: 1px solid var(--c-ink); font-weight: 600; }
.entry .wp-block-table thead { border: 0; }
.entry .wp-block-table td,
.entry .wp-block-table th { border-inline: 0; border-block-start: 0; }

.entry hr { margin-block: 2.5em; border-color: var(--line-light); }
.entry .wp-block-table:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
