.lbo-box {
	margin: 2rem 0;
	padding: 1.35rem;
	background: var(--lbo-chapter-tint);
	border-top: 1px solid var(--lbo-chapter);
}

.lbo-box__heading {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	margin: 0 0 1.2rem;
	font-family: var(--lbo-font-sans);
	font-size: var(--lbo-text-intro);
	font-weight: 500;
	line-height: var(--lbo-leading-heading);
}

.lbo-box__num {
	flex: 0 0 auto;
	box-sizing: border-box;
	min-width: 1.35rem;
	height: 1.35rem;
	margin-top: 0;
	padding: 0 0.2em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0;
	background: var(--lbo-chapter);
	color: var(--lbo-paper);
	font-family: var(--lbo-font-mark);
	font-size: 0.75rem;
	font-weight: var(--lbo-weight-mark);
	font-style: normal;
	font-synthesis: none;
	line-height: 1;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: "lnum" 1, "pnum" 1, "onum" 0;
}

.lbo-case .lbo-box__num {
	border-radius: 50%;
}

/* Print: title 15pt, case-study circle 14pt, number 8pt Freight Micro (title marks only). */
.lbo-case__title .lbo-box__num,
.lbo-box__heading .lbo-box__num {
	min-width: calc(var(--lbo-text-intro) * 14 / 15);
	height: calc(var(--lbo-text-intro) * 14 / 15);
	margin-top: 6px;
	margin-right: 0.35rem;
	padding: 0 0.18em;
	font-size: calc(var(--lbo-text-intro) * 8 / 15);
}

.lbo-box__heading .lbo-box__num {
	margin-top: 4px;
}

@media (max-width: 48rem) {
	.lbo-box__heading .lbo-box__num {
		margin-top: 2px;
	}
}

/* Circle is +2.5px vs the shared 14/15 title mark so it matches the square. */
.lbo-case__title .lbo-box__num {
	min-width: calc(var(--lbo-text-intro) * 14 / 15 + 2.5px);
	height: calc(var(--lbo-text-intro) * 14 / 15 + 2.5px);
	margin-top: 2px;
}

/* Centre on the first line box only, then sit 1px lower. align-items stays flex-start so a wrap does not pull the circle down. */
@media (max-width: 48rem) {
	.lbo-case__title .lbo-box__num {
		margin-top: calc((var(--lbo-text-intro) * var(--lbo-leading-heading) - (var(--lbo-text-intro) * 14 / 15 + 2.5px)) / 2 + 1px);
	}
}

.lbo-box__body > :last-child {
	margin-bottom: 0;
}

.lbo-box--target {
	padding: 1.5rem;
	background: var(--lbo-chapter-target);
}

.lbo-box--target .lbo-box__marker,
.lbo-box--target .lbo-box__body,
.lbo-box--target .lbo-box__body p,
.lbo-box--target .lbo-box__body li {
	font-family: var(--lbo-font-sans);
	font-size: var(--lbo-text-body);
	font-weight: 400;
	line-height: var(--lbo-leading-sans);
}

.lbo-box--target .lbo-box__marker {
	margin: 0 0 0.4rem;
	font-size: 0.8rem;
	font-weight: 500;
}

.lbo-box--target .lbo-box__body {
	max-width: var(--lbo-measure);
}

.lbo-box--target .lbo-box__body p {
	margin-bottom: 0;
}

.lbo-box--target .lbo-box__body > :last-child {
	margin-top: 0;
	margin-bottom: 0;
}

/* Same heading-to-body gap as numbered boxes / case studies (1.2rem). */
.lbo-target__title,
.lbo-prose .lbo-target__title,
.lbo-prose h2.lbo-target__title,
.lbo-prose h3.lbo-target__title,
.lbo-chapter-body .lbo-target__title,
.lbo-chapter-body h2.lbo-target__title,
.lbo-chapter-body h3.lbo-target__title,
.lbo-style-h2.lbo-target__title {
	margin-bottom: 1.2rem;
}

.lbo-callout {
	margin: 2rem 0;
	padding: 1.5rem 1.5rem 1.15rem;
	background: var(--lbo-chapter-target);
	border-top: 1px solid var(--lbo-chapter);
}

.lbo-callout__marker {
	margin: 0 0 0.4rem;
	font-family: var(--lbo-font-sans);
	font-size: 0.8rem;
	font-weight: 500;
}

.lbo-callout__heading {
	margin: 0 0 1.2rem;
	font-family: var(--lbo-font-sans);
	font-size: var(--lbo-text-intro);
	font-weight: 500;
	line-height: var(--lbo-leading-heading);
}

.lbo-box__body > p:empty,
.lbo-callout__body > p:empty,
.lbo-target__body > p:empty {
	display: none;
}

.lbo-box__heading + .lbo-box__body > :first-child:not(.lbo-box__subhead),
.lbo-box__heading + .lbo-box__body > p:empty + p:not(.lbo-box__subhead),
.lbo-box__heading + .lbo-sidebar + .lbo-box__body > :first-child:not(.lbo-box__subhead),
.lbo-box__heading + .lbo-sidebar + .lbo-box__body > p:empty + p:not(.lbo-box__subhead),
.lbo-case__title + .lbo-case__summary > :first-child,
.lbo-case__title + .lbo-sidebar + .lbo-case__summary > :first-child,
.lbo-callout__heading + .lbo-callout__body > :first-child,
.lbo-callout__heading + .lbo-callout__body > p:empty + p,
.lbo-target__title + .lbo-target__body > :first-child,
.lbo-target__title + .lbo-target__body > p:empty + p,
.lbo-target__title + p,
.lbo-box--target .lbo-box__heading + .lbo-box__body > :first-child,
.lbo-box--target .lbo-box__heading + .lbo-box__body > p:empty + p,
.lbo-box--target .lbo-box__heading + .lbo-sidebar + .lbo-box__body > :first-child,
.lbo-box--target .lbo-box__heading + .lbo-sidebar + .lbo-box__body > p:empty + p {
	margin-top: 0;
}

/*
 * IDML Headings:H3 Neutral (and colour H3s) inside numbered boxes.
 * Same sans + rule-above treatment as .lbo-style-h3, boxed so it is
 * not a chapter heading and the gap between blocks stays even.
 */
.lbo-box__subhead,
.lbo-box__body > .lbo-box__subhead,
.lbo-box__body p.lbo-box__subhead,
.lbo-chapter-body .lbo-box__body p.lbo-box__subhead,
.lbo-box--target .lbo-box__body p.lbo-box__subhead,
.lbo-chapter-body .lbo-box--target .lbo-box__body p.lbo-box__subhead,
.lbo-case__summary .lbo-box__subhead,
.lbo-case__summary p.lbo-box__subhead,
.lbo-chapter-body .lbo-case__summary p.lbo-box__subhead,
.lbo-box__heading + .lbo-box__body > .lbo-box__subhead:first-child,
.lbo-box__heading + .lbo-box__body > p:empty + .lbo-box__subhead,
.lbo-box__heading + .lbo-sidebar + .lbo-box__body > .lbo-box__subhead:first-child,
.lbo-box__heading + .lbo-sidebar + .lbo-box__body > p:empty + .lbo-box__subhead {
	margin: calc(0.5 * var(--lbo-leading-body) * 1em) 0 var(--lbo-space-3);
	padding-top: var(--lbo-space-2);
	border-top: 1px solid var(--lbo-chapter);
	font-family: var(--lbo-font-sans);
	font-size: var(--lbo-text-h3);
	font-weight: var(--lbo-weight-h3);
	line-height: var(--lbo-leading-heading);
	color: var(--lbo-ink);
}

/*
 * Section C human-rights target box only. Its inner headings are the
 * same size as the box title. Other boxes keep the smaller subhead.
 */
#human-rights-based-approach .lbo-box__body p.lbo-box__subhead {
	font-size: var(--lbo-text-intro);
	font-weight: 500;
	line-height: var(--lbo-leading-heading);
}

.lbo-box__heading:has(+ .lbo-box__body > .lbo-box__subhead:first-child),
.lbo-box__heading:has(+ .lbo-box__body > p:empty + .lbo-box__subhead) {
	margin-bottom: 0;
}

.lbo-box__body > p:not(.lbo-box__subhead):has(+ .lbo-box__subhead),
.lbo-case__summary > p:not(.lbo-box__subhead):has(+ .lbo-box__subhead) {
	margin-bottom: 0;
}

/*
 * After body copy: one full body baseline above the 1px rule.
 * First subhead after a box/case title keeps the half-baseline above.
 */
p:not(:empty):not(.lbo-box__subhead) + .lbo-box__subhead,
.lbo-box__body > p:not(:empty):not(.lbo-box__subhead) + .lbo-box__subhead,
.lbo-box__body p:not(:empty):not(.lbo-box__subhead) + p.lbo-box__subhead,
.lbo-chapter-body .lbo-box__body p:not(:empty):not(.lbo-box__subhead) + p.lbo-box__subhead,
.lbo-box--target .lbo-box__body p:not(:empty):not(.lbo-box__subhead) + p.lbo-box__subhead,
.lbo-chapter-body .lbo-box--target .lbo-box__body p:not(:empty):not(.lbo-box__subhead) + p.lbo-box__subhead,
.lbo-case__summary p:not(:empty):not(.lbo-box__subhead) + .lbo-box__subhead,
.lbo-case__summary p:not(:empty):not(.lbo-box__subhead) + p.lbo-box__subhead,
.lbo-chapter-body .lbo-case__summary p:not(:empty):not(.lbo-box__subhead) + p.lbo-box__subhead {
	margin-top: calc(var(--lbo-leading-body) * 1em);
}

.lbo-box__heading + .lbo-box__body > .lbo-box__subhead:first-child,
.lbo-box__heading + .lbo-box__body > p:empty + .lbo-box__subhead,
.lbo-box__heading + .lbo-sidebar + .lbo-box__body > .lbo-box__subhead:first-child,
.lbo-box__heading + .lbo-sidebar + .lbo-box__body > p:empty + .lbo-box__subhead,
.lbo-case__title + .lbo-case__summary > .lbo-box__subhead:first-child,
.lbo-case__title + .lbo-sidebar + .lbo-case__summary > .lbo-box__subhead:first-child {
	margin-top: calc(0.5 * var(--lbo-leading-body) * 1em);
}

.lbo-callout__body,
.lbo-callout__body p,
.lbo-callout__body li {
	font-family: var(--lbo-font-sans);
	font-size: var(--lbo-text-body);
	font-weight: 400;
	line-height: var(--lbo-leading-sans);
	max-width: var(--lbo-measure);
}

.lbo-quote {
	margin: 0;
}

.lbo-figure {
	margin: 1.75rem 0;
}

.lbo-imprint-logos {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	justify-items: stretch;
	align-items: stretch;
	column-gap: 0;
	row-gap: 0;
	margin: 1.75rem 0 2.25rem;
	padding: 0;
	list-style: none;
	max-width: var(--lbo-measure);
	border-bottom: 1px solid #000;
}

.lbo-imprint-logos > li,
.lbo-part__body > .lbo-imprint-logos > li {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	grid-column: span 2;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: var(--lbo-space-8) var(--lbo-space-6);
	border-top: 1px solid #000;
	list-style: none;
}

.lbo-imprint-logos > li::before,
.lbo-part__body > .lbo-imprint-logos > li::before {
	content: none;
}

.lbo-imprint-logos:not(.lbo-imprint-logos--funders) > li:nth-child(-n+2) {
	grid-column: span 3;
}

.lbo-imprint-logos > li.lbo-imprint-logos__item--wide,
.lbo-part__body > .lbo-imprint-logos > li.lbo-imprint-logos__item--wide {
	grid-column: span 4;
}

/* Verticals sit between logos only and stop short of the row rules, as in print. */
.lbo-imprint-logos:not(.lbo-imprint-logos--funders) > li:nth-child(2)::after,
.lbo-imprint-logos:not(.lbo-imprint-logos--funders) > li:nth-child(n+4)::after,
.lbo-imprint-logos--funders > li:nth-child(2)::after,
.lbo-imprint-logos--funders > li:nth-child(3)::after,
.lbo-imprint-logos--funders > li:nth-child(5)::after {
	content: "";
	position: absolute;
	top: var(--lbo-space-6);
	bottom: var(--lbo-space-6);
	left: 0;
	width: 1px;
	background: #000;
	pointer-events: none;
}

.lbo-imprint-logos img {
	display: block;
	width: auto;
	height: 4.75rem;
	max-width: 100%;
	margin: 0 auto;
	object-fit: contain;
	object-position: center;
	background: transparent;
}

.lbo-imprint-logos--funders img {
	height: 5rem;
}

.lbo-imprint-logos--funders .lbo-imprint-logos__item--large img {
	height: 7.5rem;
}

.lbo-imprint-logos--funders .lbo-imprint-logos__item--compact img {
	height: 4.5rem;
}

.lbo-imprint-logos--funders .lbo-imprint-logos__item--wide img {
	width: 100%;
	height: auto;
	max-height: none;
}

/* Closer sits on the list. Do not also draw the next heading hang-line as a second rule. */
.lbo-imprint-logos--funders + .lbo-style-h2 {
	border-top: 0;
}

@media (max-width: 48rem) {
	.lbo-imprint-logos > li,
	.lbo-part__body > .lbo-imprint-logos > li {
		padding: var(--lbo-space-6) var(--lbo-space-4);
	}

	.lbo-imprint-logos img {
		height: 3.75rem;
	}

	.lbo-imprint-logos--funders img {
		height: 4rem;
	}

	.lbo-imprint-logos--funders .lbo-imprint-logos__item--large img {
		height: 6rem;
	}

	.lbo-imprint-logos--funders .lbo-imprint-logos__item--compact img {
		height: 3.6rem;
	}

	.lbo-imprint-logos--funders .lbo-imprint-logos__item--wide img {
		width: 100%;
		height: auto;
	}
}

.lbo-figure img,
.lbo-figure__placeholder {
	display: block;
	width: 100%;
	height: auto;
	background: var(--lbo-chapter-tint);
}

.lbo-figure__placeholder {
	min-height: 12rem;
}

.lbo-table-wrap {
	position: relative;
	margin: 1.75rem 0;
}

.lbo-table-wrap--wide {
	overflow-x: auto;
}

.lbo-table-wrap > .lbo-sidebar {
	margin-top: var(--lbo-space-4);
}

.lbo-table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid var(--lbo-chapter);
	font-family: var(--lbo-font-sans);
	font-size: var(--lbo-text-body);
	font-weight: 400;
	line-height: var(--lbo-leading-sans);
}

.lbo-table th,
.lbo-table td {
	border-bottom: 1px solid var(--lbo-chapter);
	padding: 0.15rem 0.75rem 0.85rem 0;
	text-align: left;
	vertical-align: top;
	background: transparent;
}

.lbo-table th + th,
.lbo-table td + td,
.lbo-table th + td,
.lbo-table td + th {
	padding-left: 0.75rem;
}

.lbo-table thead th {
	font-weight: 500;
}

.lbo-table tbody th {
	font-weight: 500;
	padding-right: 1rem;
}

.lbo-table-wrap--wide .lbo-table {
	min-width: 40rem;
}

.lbo-table--cards tbody tr {
	display: grid;
	grid-template-columns: calc(9rem + var(--lbo-space-5)) minmax(0, 1fr);
	border-bottom: 1px solid var(--lbo-chapter);
}

.lbo-table--cards tbody th,
.lbo-table--cards tbody td {
	border-bottom: none;
}

.lbo-table--cards tbody th {
	grid-column: 2;
	align-self: start;
	font-size: var(--lbo-text-intro);
	font-weight: 500;
	line-height: var(--lbo-leading-heading);
	width: auto;
	padding-top: var(--lbo-space-4);
	padding-right: 1rem;
	padding-bottom: 0.35rem;
	padding-left: 0;
}

.lbo-table--cards tbody td:not(.lbo-table__icon) {
	grid-column: 2;
	padding-top: 0;
	padding-bottom: 1.15rem;
	padding-left: 0;
}

.lbo-table td.lbo-table__icon {
	grid-column: 1;
	grid-row: 1 / span 2;
	align-self: start;
	width: auto;
	padding: var(--lbo-space-5) var(--lbo-space-5) 1.15rem 0;
	vertical-align: top;
	color: var(--lbo-chapter-contrast);
}

.lbo-table__icon img {
	display: block;
	width: 9rem;
	height: auto;
}

.lbo-table--cards td p {
	margin: 0 0 0.2em;
}

.lbo-table--cards td p:last-child {
	margin-bottom: 0;
}

.lbo-table__label {
	display: inline;
	font-weight: 700;
}

.lbo-table__label::after {
	content: ": ";
	font-weight: 700;
}

@media (max-width: 48rem) {
	.lbo-table tbody th {
		white-space: normal;
	}

	.lbo-table-wrap--wide .lbo-table {
		min-width: 36rem;
	}

	.lbo-table--cards tbody tr {
		grid-template-columns: calc(5.85rem + var(--lbo-space-5)) minmax(0, 1fr);
	}

	.lbo-table__icon {
		padding-right: var(--lbo-space-5);
	}

	.lbo-table__icon img {
		width: 5.85rem;
	}

	.lbo-table--cards tbody th,
	.lbo-table--cards tbody td:not(.lbo-table__icon) {
		padding-left: 0;
	}
}

.lbo-case {
	display: block;
	margin: 2.5rem 0;
	padding-top: 0;
	border-top: 1px solid var(--lbo-chapter);
}

.lbo-case .lbo-figure {
	margin: 0;
	line-height: 0;
}

.lbo-case .lbo-figure img,
.lbo-case .lbo-figure__placeholder {
	display: block;
	width: 100%;
	vertical-align: bottom;
}

/*
 * InDesign hid 1–2px scan/export edges by enlarging the photo in its mask.
 * Clip the photo wrap only; scale the image. Figcaptions and hanging rails stay outside.
 * Do not scale SVG chapter icons.
 */
.lbo-figure__photo {
	display: block;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	min-width: 0;
}

/*
 * Editorial photo frames. Same crop as chapter / case-study openers:
 * 6×4 landscape (3 / 2) or 4×6 portrait (2 / 3). object-fit: cover.
 */
.lbo-figure--landscape-6x4 > .lbo-figure__photo img,
.lbo-figure--landscape-6x4 > .lbo-figure__photo .lbo-figure__placeholder {
	aspect-ratio: 3 / 2;
	height: auto;
	object-fit: cover;
	object-position: center;
}

.lbo-figure--portrait-4x6 > .lbo-figure__photo img,
.lbo-figure--portrait-4x6 > .lbo-figure__photo .lbo-figure__placeholder {
	aspect-ratio: 2 / 3;
	height: auto;
	object-fit: cover;
	object-position: center;
}

/*
 * Optional inset: same 6×4 / 4×6 well, artwork contained with white margin.
 * Do not use on ordinary editorial photos (they stay cover + 1.02 crop).
 */
.lbo-figure--contain > .lbo-figure__photo {
	background: #fff;
}

.lbo-figure--contain > .lbo-figure__photo img,
.lbo-figure--contain > .lbo-figure__photo .lbo-figure__placeholder {
	object-fit: contain;
	object-position: center;
	transform: none;
	background: #fff;
	padding: 12%;
}

.lbo-figure__photo img,
.lbo-figure__photo .lbo-figure__placeholder,
.lbo-opener__figure img,
.lbo-case__media img {
	transform: scale(1.02);
	transform-origin: center center;
}

.lbo-opener__figure,
.lbo-case__media {
	overflow: hidden;
}

.lbo-opener__figure > .lbo-figure__photo {
	height: 100%;
}

/* Photo still hangs into the gutter; only the wrap clips the 1.02 scale. */
@media (min-width: 72rem) {
	.lbo-chapter-body .lbo-figure > .lbo-figure__photo {
		width: calc(100% + var(--lbo-space-column));
		max-width: none;
	}

	.lbo-chapter-body .lbo-case .lbo-figure > .lbo-figure__photo {
		width: 100%;
	}
}

.lbo-case__box {
	background: var(--lbo-chapter-tint);
	padding: 1.35rem;
}

.lbo-case__box > p:has(.lbo-btn) {
	margin-bottom: 0;
}

.lbo-case__box > .lbo-sidebar,
.lbo-box > .lbo-sidebar {
	margin-top: 0;
	margin-bottom: 1.6rem;
	max-width: none;
	color: var(--lbo-ink);
}

.lbo-case__media img {
	display: block;
	width: 100%;
	height: auto;
}

.lbo-case__title {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	margin: 0 0 1.2rem;
	font-family: var(--lbo-font-sans);
	font-size: var(--lbo-text-intro);
	font-weight: 500;
	line-height: var(--lbo-leading-heading);
}

.lbo-case__summary {
	max-width: var(--lbo-measure);
}

.lbo-case__summary p:not(.lbo-box__subhead) {
	margin: 0 0 0.85rem;
}

.lbo-case__summary blockquote,
.lbo-case__summary h3,
.lbo-case__summary ul,
.lbo-case__summary ol {
	margin: 0 0 0.85rem;
}

.lbo-case__summary > :last-child {
	margin-bottom: 0;
}

.lbo-case__summary em,
.lbo-case__summary i {
	font-style: italic;
}

.lbo-case__summary strong,
.lbo-case__summary b {
	font-weight: 700;
}

.lbo-case__summary h3 {
	font-family: inherit;
	font-size: inherit;
	font-weight: 700;
	font-style: normal;
	line-height: inherit;
	letter-spacing: 0;
	text-transform: none;
	color: inherit;
	border: none;
	padding: 0;
}

.lbo-case__summary .lbo-style-quote {
	margin: 0.85rem 0 0.4rem;
	max-width: none;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.lbo-case__summary .lbo-style-quote-author,
.lbo-case__summary p.lbo-style-quote-author,
.lbo-case__summary cite {
	display: block;
	margin: 0 0 0.85rem;
}

/* One body line between a quote and the credit that follows it.
   The space is the quote's bottom margin only. */
.lbo-part__body .lbo-style-quote:has(+ .lbo-style-quote-author),
.lbo-prose .lbo-style-quote:has(+ .lbo-style-quote-author),
.lbo-case__summary .lbo-style-quote:has(+ .lbo-style-quote-author),
.lbo-box__body .lbo-style-quote:has(+ .lbo-style-quote-author),
.lbo-part__body .lbo-quote:has(+ .lbo-style-quote-author),
.lbo-prose .lbo-quote:has(+ .lbo-style-quote-author),
.lbo-case__summary .lbo-quote:has(+ .lbo-style-quote-author),
.lbo-box__body .lbo-quote:has(+ .lbo-style-quote-author) {
	margin-bottom: var(--lbo-space-copy-break);
}

.lbo-part__body .lbo-style-quote + .lbo-style-quote-author,
.lbo-prose .lbo-style-quote + .lbo-style-quote-author,
.lbo-case__summary .lbo-style-quote + .lbo-style-quote-author,
.lbo-box__body .lbo-style-quote + .lbo-style-quote-author,
.lbo-part__body .lbo-quote + .lbo-style-quote-author,
.lbo-prose .lbo-quote + .lbo-style-quote-author,
.lbo-case__summary .lbo-quote + .lbo-style-quote-author,
.lbo-box__body .lbo-quote + .lbo-style-quote-author {
	margin-top: 0;
}

/* One body line after a quote credit, before the copy that follows.
   The space is the credit's bottom margin only. The next block's
   margin-top is cleared so the two do not stack. Not the sidebar. */
.lbo-prose .lbo-style-quote-author:has(+ *),
.lbo-case__summary .lbo-style-quote-author:has(+ *),
.lbo-case__summary p.lbo-style-quote-author:has(+ *),
.lbo-box__body .lbo-style-quote-author:has(+ *),
.lbo-box__body p.lbo-style-quote-author:has(+ *),
.lbo-part__body > .lbo-style-quote-author:has(+ *),
.lbo-part__body > .lbo-quote:has(+ *) > .lbo-style-quote-author,
.lbo-prose .lbo-quote:has(+ *) > .lbo-style-quote-author,
.lbo-case__summary .lbo-quote:has(+ *) > .lbo-style-quote-author,
.lbo-box__body .lbo-quote:has(+ *) > .lbo-style-quote-author {
	margin-bottom: var(--lbo-space-copy-break);
}

.lbo-prose .lbo-style-quote-author + p:not(.lbo-box__subhead),
.lbo-case__summary .lbo-style-quote-author + p:not(.lbo-box__subhead),
.lbo-box__body .lbo-style-quote-author + p:not(.lbo-box__subhead),
.lbo-part__body > .lbo-style-quote-author + p:not(.lbo-box__subhead),
.lbo-prose .lbo-style-quote-author + ul,
.lbo-case__summary .lbo-style-quote-author + ul,
.lbo-box__body .lbo-style-quote-author + ul,
.lbo-part__body > .lbo-style-quote-author + ul,
.lbo-prose .lbo-style-quote-author + ol,
.lbo-case__summary .lbo-style-quote-author + ol,
.lbo-box__body .lbo-style-quote-author + ol,
.lbo-part__body > .lbo-style-quote-author + ol,
.lbo-part__body > .lbo-quote:has(> .lbo-style-quote-author) + p,
.lbo-prose .lbo-quote:has(> .lbo-style-quote-author) + p,
.lbo-case__summary .lbo-quote:has(> .lbo-style-quote-author) + p,
.lbo-box__body .lbo-quote:has(> .lbo-style-quote-author) + p,
.lbo-part__body > .lbo-quote:has(> .lbo-style-quote-author) + .lbo-prose,
.lbo-part__body > .lbo-quote:has(> .lbo-style-quote-author) + .lbo-style-body {
	margin-top: 0;
}

.lbo-search-row,
.lbo-search-count,
.lbo-search-live__status,
.lbo-search-live__more {
	--lbo-finder-mark: calc(var(--lbo-text-intro) * 14 / 15 + 2.5px);
	--lbo-search-title-gap: var(--lbo-space-3);
}

.lbo-search-row {
	--lbo-finder-gap: 0.65rem;
	display: grid;
	grid-template-columns: var(--lbo-finder-mark) minmax(0, 1fr);
	gap: var(--lbo-search-title-gap);
	align-items: start;
	padding: 0.85rem 0;
	border-top: 1px solid var(--lbo-rule);
	text-decoration: none;
	font-family: var(--lbo-font-sans);
	line-height: var(--lbo-leading-sans);
	color: inherit;
}

.lbo-search-row .lbo-chapter-dots {
	margin-top: calc((1em * var(--lbo-leading-sans) - var(--lbo-chapter-dot)) / 2);
}

.lbo-search-row:last-of-type {
	border-bottom: 1px solid var(--lbo-rule);
}

.lbo-search-row__type {
	display: block;
	margin-top: 0.15rem;
	font-family: var(--lbo-font-mono);
	font-size: var(--lbo-text-mono);
	color: var(--lbo-muted);
}

/* Case / box rows only: title 2px lower so it sits with the signed-off first-line mark. */
.lbo-search-row:has(.lbo-cite--circle) strong,
.lbo-search-row:has(.lbo-cite--square) strong {
	position: relative;
	top: 2px;
}

.lbo-search-count {
	margin: 0;
	padding-bottom: 0.85rem;
	font-family: var(--lbo-font-mono);
	font-size: var(--lbo-text-mono);
}

.lbo-search-form {
	position: relative;
	margin: 0;
}

.lbo-search-form__label {
	display: none;
}

.lbo-search-form__input {
	font-family: var(--lbo-font-sans);
	background: var(--lbo-paper);
	color: var(--lbo-ink);
}

.lbo-search-live {
	margin: 0.65rem 0 0;
}

.lbo-search-live[hidden] {
	display: none;
}

.lbo-search-live__status {
	margin: 0;
	padding-bottom: 0.85rem;
	font-family: var(--lbo-font-mono);
	font-size: var(--lbo-text-mono);
}

.lbo-search-live__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lbo-search-live__list .lbo-search-row {
	border-top: 0;
	border-bottom: 1px solid var(--lbo-rule);
}

.lbo-search-live__list li:first-child .lbo-search-row {
	border-top: 1px solid var(--lbo-rule);
}

/* Overlay CTA is styled in chrome.css. Do not inherit ink or stretch here. */
.lbo-search-live__more {
	margin: 0.85rem 0 0;
	font-family: var(--lbo-font-mono);
	font-size: var(--lbo-text-mono);
}

/* Last-loaded lock: always black, never the chapter accent. Overlay only. */
#lbo-search a.lbo-search-live__more,
#lbo-search a.lbo-search-live__more:link,
#lbo-search a.lbo-search-live__more:visited,
#lbo-search a.lbo-search-live__more:focus,
#lbo-search a.lbo-search-live__more:focus-visible {
	display: inline-block;
	flex: 0 0 auto;
	align-self: flex-start;
	width: auto;
	width: fit-content;
	max-width: 100%;
	margin-inline-start: 0;
	color: #000000;
	background: transparent;
	border-color: #000000;
	outline-color: #000000;
}

#lbo-search a.lbo-search-live__more:hover,
#lbo-search a.lbo-search-live__more:active {
	color: #fff;
	background: #000000;
	border-color: #000000;
}

@media (max-width: 48rem) {
	.lbo-search-form {
		max-width: none;
	}
}

.lbo-cover {
	--lbo-cover-cx: 50%;
	--lbo-cover-cy: 50%;
	--lbo-cover-r: min(42vw, 30vh, 16rem);
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	box-sizing: border-box;
	min-height: calc(100vh - var(--lbo-bar-height));
	min-height: calc(100dvh - var(--lbo-bar-height));
	height: calc(100dvh - var(--lbo-bar-height));
	padding: 3rem var(--lbo-gutter) 2.25rem;
	color: var(--lbo-paper);
	background: var(--lbo-cover-green);
	overflow: hidden;
}

body.home .lbo-cover,
body.front-page .lbo-cover {
	--lbo-cover-cy: 50%;
	margin-top: calc(-1 * var(--lbo-bar-height));
	min-height: 100vh;
	min-height: 100dvh;
	height: 100dvh;
	padding-top: calc(3rem + var(--lbo-bar-height));
}

@media (max-width: 47.999rem) {
	.lbo-cover {
		padding-bottom: var(--lbo-gutter);
	}

	/* Touch/narrow: rest at a raised circle so the standfirst has a clearer gap. */
	body.home .lbo-cover,
	body.front-page .lbo-cover {
		--lbo-cover-cy: calc(var(--lbo-bar-height) + (100% - var(--lbo-bar-height)) * 0.32);
	}
}

@media (min-width: 48rem) {
	.lbo-cover {
		--lbo-cover-r: min(37vw, 37vh, 24rem);
		--lbo-cover-cy: 50%;
	}

	body.home .lbo-cover,
	body.front-page .lbo-cover {
		--lbo-cover-cy: 50%;
	}
}

.lbo-cover__photo {
	position: absolute;
	inset: 0;
	background: var(--lbo-cover-green);
	clip-path: circle(var(--lbo-cover-live-r, var(--lbo-cover-r)) at var(--lbo-cover-cx) var(--lbo-cover-cy));
	transition: clip-path 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}

.lbo-cover.is-tracking .lbo-cover__photo {
	transition: none;
}

/* Load: grow from nothing to the resting circle. Mouse tracking takes over after. */
@keyframes lbo-cover-grow {
	from {
		clip-path: circle(0px at var(--lbo-cover-cx) var(--lbo-cover-cy));
	}

	to {
		clip-path: circle(var(--lbo-cover-r) at var(--lbo-cover-cx) var(--lbo-cover-cy));
	}
}

@media (prefers-reduced-motion: no-preference) {
	.lbo-cover:not(.is-settled) .lbo-cover__photo {
		animation: lbo-cover-grow 1.2s cubic-bezier(0.22, 1, 0.36, 1) both;
	}

	.lbo-cover.is-tracking .lbo-cover__photo,
	.lbo-cover.is-filling .lbo-cover__photo {
		animation: none;
	}
}

.lbo-cover__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lbo-cover__hit {
	position: absolute;
	z-index: 1;
	left: var(--lbo-cover-cx);
	top: var(--lbo-cover-cy);
	display: block;
	width: calc(var(--lbo-cover-r) * 2);
	height: calc(var(--lbo-cover-r) * 2);
	transform: translate(-50%, -50%);
	border-radius: 50%;
	text-decoration: none;
}

.lbo-using-keyboard .lbo-cover__hit:focus-visible {
	outline: 2px solid var(--lbo-paper);
	outline-offset: 0.35rem;
}

.lbo-cover__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: none;
}

.lbo-cover .lbo-style-h5 {
	margin-bottom: 0.65rem;
	color: inherit;
	font-family: var(--lbo-font-mono);
	font-size: 1rem;
	font-weight: 400;
	font-style: normal;
	line-height: var(--lbo-leading-mono);
	font-synthesis: none;
	text-shadow: 0 1px 1.25rem rgb(0 0 0 / 0.45);
}

@media (min-width: 48rem) {
	.lbo-cover__inner {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: flex-end;
		gap: 2rem;
	}

	.lbo-cover .lbo-style-h5 {
		max-width: 33.333vw;
		margin-bottom: 0;
		text-box-trim: trim-end;
		text-box-edge: text alphabetic;
	}

	.lbo-cover .lbo-opener__actions {
		margin-top: 0;
	}
}

.lbo-btn--cover,
.lbo-btn--cover:link,
.lbo-btn--cover:visited,
.lbo-btn--cover:focus,
.lbo-btn--cover:focus-visible {
	font-family: var(--lbo-font-mono);
	font-size: var(--lbo-text-mono);
	font-weight: 400;
	font-synthesis: none;
	line-height: var(--lbo-leading-mono);
	color: var(--lbo-paper);
	background: transparent;
	border: 1px solid var(--lbo-paper);
	padding: 8px 12px;
}

/* Chapter green on white is about 3.4:1. Hover text stays near-black. */
.lbo-btn--cover:hover,
.lbo-btn--cover:active {
	color: var(--lbo-ink);
	background: var(--lbo-paper);
	border-color: var(--lbo-paper);
}

@media (prefers-reduced-motion: no-preference) {
	.lbo-btn--cover {
		transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
	}
}

.lbo-using-keyboard .lbo-btn--cover:focus-visible {
	outline: 2px solid var(--lbo-focus);
	outline-offset: 3px;
}

/* Other Founders Grotesk Mono buttons match the cover padding. Cookie notice buttons stay on the shared padding. */
.lbo-btn:not(.lbo-btn--cover):not(.lbo-btn--invert):not(.lbo-cookies .lbo-btn),
.lbo-btn:not(.lbo-btn--cover):not(.lbo-btn--invert):not(.lbo-cookies .lbo-btn):link,
.lbo-btn:not(.lbo-btn--cover):not(.lbo-btn--invert):not(.lbo-cookies .lbo-btn):visited,
.lbo-btn:not(.lbo-btn--cover):not(.lbo-btn--invert):not(.lbo-cookies .lbo-btn):focus,
.lbo-btn:not(.lbo-btn--cover):not(.lbo-btn--invert):not(.lbo-cookies .lbo-btn):focus-visible {
	padding: 8px 12px;
}

#lbo-search a.lbo-search-live__more,
#lbo-search a.lbo-search-live__more:link,
#lbo-search a.lbo-search-live__more:visited,
#lbo-search a.lbo-search-live__more:focus,
#lbo-search a.lbo-search-live__more:focus-visible,
#lbo-search .lbo-search-live__more.lbo-btn,
#lbo-search .lbo-search-live__more.lbo-btn--invert {
	padding: 8px 12px;
}

@media (prefers-reduced-motion: reduce) {
	.lbo-cover__photo {
		transition: none;
		animation: none;
	}

	.lbo-cover.is-reveal .lbo-cover__photo {
		clip-path: circle(var(--lbo-cover-r) at var(--lbo-cover-cx) var(--lbo-cover-cy));
	}
}

.lbo-opener {
	min-height: 70vh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 3rem var(--lbo-gutter) 2rem;
	background: var(--lbo-chapter-tint);
}

.lbo-opener__copy {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
	min-height: 0;
}

.lbo-opener__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 0.75rem;
	margin: 1rem 0 0;
}

.lbo-chapter .lbo-opener {
	justify-content: flex-start;
	color: var(--lbo-chapter);
	min-height: calc(100vh - var(--lbo-bar-height));
	min-height: calc(100dvh - var(--lbo-bar-height));
	padding-bottom: 3rem;
}

.lbo-chapter .lbo-opener:not(.lbo-opener--spread):not(.lbo-opener--cover) .lbo-opener__lead {
	margin-bottom: 3rem;
}

.lbo-chapter .lbo-opener--simple {
	min-height: var(--lbo-peek-height);
	height: auto;
	padding-bottom: 5rem;
}

.lbo-chapter .lbo-opener--simple .lbo-opener__lead {
	margin-bottom: 0;
}

/* Compact / stacked: hug the title. Do not keep the 37.5rem (or 100dvh) slab. */
@media (max-width: 47.999rem) {
	.lbo-chapter .lbo-opener.lbo-opener--simple {
		min-height: 0;
		padding-bottom: 3rem;
	}
}

.lbo-chapter .lbo-opener .lbo-style-opener-title,
.lbo-chapter .lbo-opener .lbo-opener__subtitle,
.lbo-chapter .lbo-opener .lbo-style-quote,
.lbo-chapter .lbo-opener .lbo-style-quote-author,
.lbo-chapter .lbo-opener .lbo-style-h4,
.lbo-chapter .lbo-opener .lbo-style-h5 {
	color: inherit;
}

.lbo-opener__foot {
	margin-top: auto;
	padding-top: 0;
}

.lbo-opener__subtitle {
	margin: 0;
	padding: 0.7rem 0 0.75rem;
	border-top: 1px solid var(--lbo-chapter);
	font-family: var(--lbo-font-sans);
	font-size: var(--lbo-text-h1);
	font-weight: var(--lbo-weight-h1);
	line-height: var(--lbo-leading-heading);
}

.lbo-opener__band {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
	align-items: stretch;
	column-gap: 1.15rem;
	border-top: 1px solid var(--lbo-chapter);
	border-bottom: 1px solid var(--lbo-chapter);
}

.lbo-opener__quote,
.lbo-opener__aside {
	padding: 0.85rem 0 1rem;
}

.lbo-chapter .lbo-opener:not(.lbo-opener--spread):not(.lbo-opener--cover) .lbo-opener__band {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	border-top: 0;
}

.lbo-chapter .lbo-opener:not(.lbo-opener--spread):not(.lbo-opener--cover) .lbo-opener__vrule {
	display: none;
}

.lbo-chapter .lbo-opener:not(.lbo-opener--spread):not(.lbo-opener--cover) .lbo-opener__quote {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--lbo-chapter);
}

.lbo-chapter .lbo-opener:not(.lbo-opener--spread):not(.lbo-opener--cover) .lbo-opener__quote .lbo-opener__subtitle {
	border-top: 0;
	border-bottom: 1px solid var(--lbo-chapter);
	padding: 0.7rem 0 0.75rem;
}

.lbo-chapter .lbo-opener:not(.lbo-opener--spread):not(.lbo-opener--cover) .lbo-opener__quote .lbo-style-caption {
	margin-top: auto;
	padding-top: 0.85rem;
	border-top: 1px solid var(--lbo-chapter);
	color: var(--lbo-chapter);
}

.lbo-opener__figure {
	margin: 0;
}

.lbo-opener__figure img {
	display: block;
	width: 100%;
	height: auto;
}

.lbo-chapter .lbo-opener:not(.lbo-opener--spread):not(.lbo-opener--cover) .lbo-opener__figure img {
	aspect-ratio: 3 / 2;
	height: auto;
	object-fit: cover;
	object-position: center;
}

.lbo-opener__figure .lbo-style-caption {
	margin-top: 0.45rem;
}

.lbo-opener__quote .lbo-style-quote {
	margin: 0;
	max-width: none;
	font-size: var(--lbo-text-standfirst);
	line-height: var(--lbo-leading-standfirst);
}

.lbo-opener__quote .lbo-style-quote-author {
	margin: 0.65rem 0 0;
}

.lbo-opener__vrule {
	display: block;
	align-self: stretch;
	width: 1px;
	min-height: 100%;
	background: var(--lbo-chapter);
}

@media (max-width: 40rem) {
	.lbo-opener__band {
		grid-template-columns: minmax(0, 1fr);
	}

	.lbo-opener__vrule,
	.lbo-opener__aside {
		display: none;
	}

	.lbo-opener--spread .lbo-opener__aside {
		display: block;
	}

	.lbo-opener--spread .lbo-opener__vrule {
		display: none;
	}
}

.lbo-chapter .lbo-opener--spread {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr);
	column-gap: var(--lbo-gutter);
	align-items: stretch;
	height: calc(100vh - var(--lbo-bar-height));
	height: calc(100dvh - var(--lbo-bar-height));
	padding: var(--lbo-gutter);
	padding-left: var(--lbo-page-inset);
	background: var(--lbo-chapter-tint);
	color: var(--lbo-chapter);
}

.lbo-chapter .lbo-opener--spread .lbo-opener__figure {
	grid-column: 2;
	grid-row: 1;
	align-self: stretch;
	height: 100%;
	min-width: 0;
	min-height: 0;
}

.lbo-chapter .lbo-opener--spread .lbo-opener__figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.lbo-chapter .lbo-opener--spread .lbo-opener__copy {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	height: 100%;
	border-top: 1px solid var(--lbo-chapter);
	padding-top: var(--lbo-space-6);
}

.lbo-chapter .lbo-opener--spread .lbo-style-kicker,
.lbo-chapter .lbo-opener--spread .lbo-style-opener-title {
	font-size: clamp(calc(var(--lbo-text-body) * 1.8), 4.5vw + 1rem, calc(var(--lbo-text-body) * 3.8));
}

.lbo-chapter .lbo-opener--spread .lbo-style-kicker,
.lbo-chapter .lbo-opener--spread .lbo-style-opener-title,
.lbo-chapter .lbo-opener--spread .lbo-opener__subtitle,
.lbo-chapter .lbo-opener--spread .lbo-style-quote,
.lbo-chapter .lbo-opener--spread .lbo-style-quote-author,
.lbo-chapter .lbo-opener--spread .lbo-style-caption,
.lbo-chapter .lbo-opener--spread .lbo-style-h4,
.lbo-chapter .lbo-opener--spread .lbo-style-h5 {
	color: var(--lbo-chapter);
}

.lbo-chapter .lbo-opener--spread .lbo-opener__aside {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding-bottom: 0;
}

.lbo-chapter .lbo-opener--spread .lbo-style-caption {
	margin: 0 0 0.4em;
}

.lbo-chapter .lbo-opener--spread .lbo-opener__subtitle,
.lbo-chapter .lbo-opener--spread .lbo-opener__band {
	border-color: var(--lbo-chapter);
}

.lbo-chapter .lbo-opener--spread .lbo-opener__vrule {
	background: var(--lbo-chapter);
}

.lbo-chapter .lbo-opener--spread.lbo-opener--flush {
	column-gap: 0;
	padding: 0;
}

.lbo-chapter .lbo-opener--spread.lbo-opener--flush .lbo-opener__copy {
	height: auto;
	align-self: stretch;
	margin: var(--lbo-gutter) var(--lbo-gutter) var(--lbo-gutter) 0;
	padding-left: var(--lbo-page-inset);
}

.lbo-opener-continue {
	position: relative;
	padding-top: var(--lbo-space-4);
	margin: 0 0 var(--lbo-space-copy-break);
}

.lbo-opener-continue .lbo-style-quote {
	margin-top: 0;
	margin-bottom: 0;
	max-width: none;
}

.lbo-opener-continue .lbo-style-quote-author {
	margin: var(--lbo-space-copy-break) 0 0;
}

.lbo-opener-continue__rail {
	margin-top: var(--lbo-space-6);
}

.lbo-opener-continue__meta {
	margin-bottom: var(--lbo-space-6);
}

.lbo-opener__subtitle--wide {
	position: relative;
	color: var(--lbo-ink);
	margin: 0;
	padding: calc(var(--lbo-space-4) - 0.3rem) 0;
	border-top: 1px solid var(--lbo-chapter);
	border-bottom: 1px solid var(--lbo-chapter);
	font-size: var(--lbo-text-h1);
	font-weight: var(--lbo-weight-h1);
	line-height: var(--lbo-leading-heading);
}

/* Stacked On this page: one extra body-leading above the scope hang-line.
   Top margin collapses with the submenu’s --lbo-space-6, so keep that 1.5rem in the sum. */
@media (max-width: 47.999rem) {
	.lbo-chapter-body > .lbo-opener__subtitle--wide {
		margin-top: calc(var(--lbo-space-6) + var(--lbo-space-copy-break));
	}
}

.lbo-opener__subtitle--rule {
	padding: 0;
	border-top: 0;
}

.lbo-opener-continue--wide {
	position: relative;
	color: var(--lbo-ink);
	margin: 0 0 calc(var(--lbo-space-12) + var(--lbo-space-copy-break));
	padding-top: calc(var(--lbo-space-4) + var(--lbo-text-body));
}

.lbo-opener-continue--wide .lbo-style-quote {
	margin-top: 0;
	max-width: none;
	font-size: var(--lbo-text-quote);
	line-height: var(--lbo-leading-quote);
	color: var(--lbo-ink);
}

.lbo-opener-continue--wide .lbo-style-quote-author {
	color: var(--lbo-ink);
}

.lbo-chapter-body > .lbo-figure--opener {
	margin: 0 0 calc(var(--lbo-space-12) + (2 * var(--lbo-space-copy-break)));
}

.lbo-chapter-body > .lbo-figure--opener img {
	aspect-ratio: 3 / 2;
	height: auto;
	object-fit: cover;
	object-position: center;
}

/* Narrow / stacked: drop the desktop after-image gap so it does not sit under the caption. */
@media (max-width: 48rem) {
	.lbo-opener-continue--wide {
		margin-bottom: var(--lbo-space-copy-break);
	}
}

/* Stacked caption: exactly 1 body-leading after Credit. Padding, not margin —
   a 1rem margin-bottom collapsed onto the intro hang-line and read as flush. */
@media (max-width: 71.99rem) {
	.lbo-chapter-body > .lbo-figure--opener {
		margin-bottom: 0;
		padding-bottom: var(--lbo-space-copy-break);
	}

	.lbo-chapter-body > .lbo-figure--opener > figcaption.lbo-style-caption {
		margin-bottom: 0;
	}
}

.lbo-opener-simple .lbo-chapter .lbo-wrap {
	padding-top: 0;
}

.lbo-chapter .lbo-opener--cover {
	position: relative;
	display: block;
	height: 75vh;
	height: 75dvh;
	min-height: 22rem;
	margin-top: calc(-1 * var(--lbo-bar-height));
	padding: 0;
	overflow: hidden;
	background: var(--lbo-ink);
	color: var(--lbo-paper);
}

.lbo-chapter .lbo-opener--cover .lbo-opener__figure {
	position: absolute;
	inset: 0;
	height: 100%;
	min-width: 0;
	min-height: 0;
}

.lbo-chapter .lbo-opener--cover .lbo-opener__figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.lbo-chapter .lbo-opener--cover .lbo-opener__copy {
	position: relative;
	z-index: 1;
	height: 100%;
	padding: calc(var(--lbo-bar-height) + var(--lbo-space-6)) var(--lbo-gutter) var(--lbo-gutter);
	padding-left: var(--lbo-page-inset);
}

.lbo-chapter .lbo-opener--cover .lbo-opener__copy::before {
	content: "";
	position: absolute;
	inset: 0 0 45% 0;
	background: linear-gradient(to bottom, rgb(0 0 0 / 0.38), transparent);
	pointer-events: none;
	z-index: -1;
}

.lbo-chapter .lbo-opener--cover .lbo-style-kicker,
.lbo-chapter .lbo-opener--cover .lbo-style-opener-title {
	color: var(--lbo-paper);
	font-size: var(--lbo-text-opener);
}

.lbo-opener__down {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	align-self: flex-start;
	color: var(--lbo-paper);
	text-decoration: none;
}

.lbo-opener__down-icon {
	display: block;
}

.lbo-using-keyboard .lbo-opener__down:focus-visible {
	outline: 2px solid var(--lbo-paper);
	outline-offset: 4px;
}

@media (prefers-reduced-motion: no-preference) {
	.lbo-opener__down {
		animation: lbo-opener-down 2.2s ease-in-out infinite;
	}
}

@keyframes lbo-opener-down {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(0.35rem);
	}
}

.lbo-chapter-body#lbo-chapter-start {
	scroll-margin-top: var(--lbo-bar-height);
}

@media (max-width: 50rem) {
	.lbo-chapter .lbo-opener--spread {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: minmax(16rem, 42vh) auto;
		row-gap: var(--lbo-gutter);
	}

	.lbo-chapter .lbo-opener--spread .lbo-opener__figure,
	.lbo-chapter .lbo-opener--spread .lbo-opener__copy {
		grid-column: auto;
		grid-row: auto;
	}

	.lbo-chapter .lbo-opener--spread .lbo-opener__figure {
		min-height: 16rem;
	}

	.lbo-chapter .lbo-opener--spread.lbo-opener--flush {
		row-gap: 0;
	}

	.lbo-chapter .lbo-opener--spread.lbo-opener--flush .lbo-opener__copy {
		margin: 0;
		padding: var(--lbo-gutter);
		padding-left: var(--lbo-page-inset);
	}
}

.lbo-note {
	margin: 1.5rem 0;
	padding-left: 0.75rem;
	border-left: 1px solid var(--lbo-ink);
	font-size: 0.95rem;
}

.lbo-fn {
	font-family: var(--lbo-font-sans);
	font-size: 0.7em;
	font-weight: 500;
	line-height: 1;
	margin-left: 0.1em;
}

.lbo-fn__ref {
	color: var(--lbo-ink);
	text-decoration: none;
	padding: 0 0.15em;
}

.lbo-fn-list {
	margin: 3rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid var(--lbo-chapter);
	scroll-margin-top: calc(var(--lbo-bar-height) + 6rem);
}

@media (min-width: 72rem) {
	html.lbo-fn-rail .lbo-fn-list {
		display: none;
	}

	html.lbo-fn-rail .lbo-fn__ref {
		pointer-events: none;
		cursor: text;
	}
}

@media print {
	.lbo-fn-list {
		display: block;
	}
}

.lbo-fn-list ol {
	margin: 0;
	padding-left: 0;
	list-style: none;
	max-width: var(--lbo-measure);
	font-family: var(--lbo-font-serif);
	font-size: 1rem;
}

.lbo-fn-list li {
	margin: 0 0 0.75rem;
	scroll-margin-top: calc(var(--lbo-bar-height) + 6rem);
}

.lbo-fn-list__mark {
	font-family: var(--lbo-font-sans);
	margin-right: 0.35em;
}

.lbo-fn-list__back {
	font-family: var(--lbo-font-sans);
	font-size: 0.8rem;
	margin-left: 0.35rem;
}

.lbo-fn-dialog {
	position: fixed;
	inset: auto 1rem 1rem auto;
	z-index: 46;
	display: none;
	width: min(24rem, calc(100vw - 2rem));
	margin: 0;
	padding: 1rem;
	border: 1px solid var(--lbo-ink);
	background: var(--lbo-paper);
}

.lbo-fn-dialog.is-open {
	display: block;
}

.lbo-fn-dialog__title {
	margin: 0 0 0.5rem;
	font-family: var(--lbo-font-sans);
	font-size: 0.95rem;
	font-weight: 500;
}

.lbo-fn-dialog__body {
	margin: 0 0 0.75rem;
	font-size: 1rem;
}

.lbo-fn-dialog__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.lbo-main .vc_row,
.lbo-main .vc_row-fluid {
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-bottom: 0;
}

.lbo-main .vc_column_container > .vc_column-inner,
.lbo-main .wpb_column > .vc_column-inner {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.lbo-main .wpb_content_element {
	margin-bottom: 0;
}

.lbo-abbr {
	display: grid;
	gap: 0.65rem 1.5rem;
	margin: 1.5rem 0 0;
	font-family: var(--lbo-font-serif);
	font-size: var(--lbo-text-body);
	font-weight: 400;
	line-height: var(--lbo-leading-body);
}

.lbo-abbr > div {
	display: grid;
	grid-template-columns: minmax(6.5rem, 10rem) minmax(0, 1fr);
	gap: 0.75rem;
	align-items: baseline;
}

.lbo-abbr dt,
.lbo-abbr dd {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.lbo-finder {
	/* Shared hang: Directory row cites + 0.75rem gap. Print titles tab/indent 15pt. */
	--lbo-finder-mark: calc(var(--lbo-text-intro) * 14 / 15 + 2.5px);
	--lbo-finder-gap: 0.75rem;
	--lbo-finder-text-inset: calc(var(--lbo-finder-mark) + var(--lbo-finder-gap));
	margin: 2rem 0 0;
}

/* Print Directory chapter mark: two 5pt filled circles, flush (IDML ovals, p008–9). */
.lbo-chapter-dots {
	--lbo-chapter-dot: calc(var(--lbo-text-body) * 0.5);
	display: flex;
	align-items: center;
	flex-shrink: 0;
	width: var(--lbo-finder-mark, auto);
	height: var(--lbo-chapter-dot);
	margin-top: calc((var(--lbo-text-body) * var(--lbo-leading-heading) - var(--lbo-chapter-dot)) / 2);
	gap: 1px;
	pointer-events: none;
}

.lbo-chapter-dots::before,
.lbo-chapter-dots::after {
	content: "";
	width: var(--lbo-chapter-dot);
	height: var(--lbo-chapter-dot);
	border-radius: 50%;
	background: var(--lbo-chapter);
}

.lbo-part__body > .lbo-style-h4:has(+ .lbo-finder) {
	border-top: 0;
	padding-top: 0;
}

.lbo-finder__group {
	scroll-margin-top: 0;
}

.lbo-finder__list,
.lbo-part__body .lbo-finder__list {
	list-style: none;
	margin: 0;
	margin-left: 0;
	padding: 0;
	padding-left: 0;
	padding-inline-start: 0;
}

.lbo-finder__list a {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.65rem;
	align-items: center;
	padding: 0.85rem 0;
	border-top: 1px solid var(--lbo-rule);
	color: inherit;
	text-decoration: none;
}

.lbo-finder__list a.lbo-finder__row {
	grid-template-columns: var(--lbo-finder-mark) minmax(0, 1fr);
	gap: var(--lbo-finder-gap);
	align-items: start;
	/* Print p008–9 density; ~45–49px one-line hit with the large title mark. */
	padding: 0.4rem 0;
}

.lbo-finder__list a.lbo-finder__row--title {
	grid-template-columns: minmax(0, 1fr);
	padding-left: var(--lbo-finder-text-inset);
}

.lbo-finder__chapter {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	color: var(--lbo-chapter);
}

.lbo-finder__list .lbo-finder__chapter a {
	display: grid;
	grid-template-columns: var(--lbo-finder-mark) minmax(0, 1fr);
	gap: var(--lbo-finder-gap);
	align-items: start;
	padding: 0.4rem 0;
	color: var(--lbo-chapter);
	font-family: var(--lbo-font-sans);
	font-size: var(--lbo-text-body);
	font-weight: 500;
	line-height: var(--lbo-leading-heading);
}

.lbo-finder__list > li:first-child .lbo-finder__chapter a {
	border-top: 0;
}

.lbo-finder__chapter a:hover {
	text-decoration: none;
}

.lbo-finder__chapter a:focus-visible {
	text-decoration: none;
}

.lbo-finder__list a:focus-visible {
	outline: 2px solid var(--lbo-focus);
	outline-offset: 3px;
}

.lbo-cite {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	box-sizing: border-box;
	width: calc(var(--lbo-text-body) * 1.1);
	height: calc(var(--lbo-text-body) * 1.1);
	margin: 0;
	vertical-align: middle;
	background: var(--lbo-chapter);
	color: var(--lbo-paper);
	text-decoration: none;
	line-height: 1;
}

.lbo-cite--circle {
	border-radius: 50%;
	top: -2px;
}

.lbo-cite--square {
	width: calc(var(--lbo-text-body) * 0.95);
	height: calc(var(--lbo-text-body) * 0.95);
	border-radius: 0;
	top: -2px;
}

/* 2px larger than the 1.1 mono mark. Wide top is -2px. Numeral size is unchanged. */
.lbo-style-quote-author .lbo-cite--circle,
.lbo-style-caption .lbo-cite--circle,
.lbo-style-sidebar .lbo-cite--circle,
.lbo-sidebar .lbo-cite--circle,
.lbo-mono .lbo-cite--circle {
	width: calc(var(--lbo-text-mono) * 1.1 + 2px);
	height: calc(var(--lbo-text-mono) * 1.1 + 2px);
	top: -2px;
}

/* Narrow circle box only. Wide stays -2px above. */
@media (max-width: 48rem) {
	.lbo-style-quote-author .lbo-cite--circle,
	.lbo-style-caption .lbo-cite--circle,
	.lbo-style-sidebar .lbo-cite--circle,
	.lbo-sidebar .lbo-cite--circle,
	.lbo-mono .lbo-cite--circle {
		top: -1px;
	}
}

.lbo-style-quote-author .lbo-cite--square,
.lbo-style-caption .lbo-cite--square,
.lbo-style-sidebar .lbo-cite--square,
.lbo-sidebar .lbo-cite--square,
.lbo-mono .lbo-cite--square {
	width: calc(var(--lbo-text-mono) * 0.95);
	height: calc(var(--lbo-text-mono) * 0.95);
}

.lbo-style-quote-author .lbo-cite .lbo-cite__num,
.lbo-style-caption .lbo-cite .lbo-cite__num,
.lbo-style-sidebar .lbo-cite .lbo-cite__num,
.lbo-sidebar .lbo-cite .lbo-cite__num,
.lbo-mono .lbo-cite .lbo-cite__num {
	font-size: calc(var(--lbo-text-mono) * 0.7);
}

/* Numeral only, inside the enlarged small circle. Both widths: top 0. The circle itself stays put. */
.lbo-style-quote-author .lbo-cite--circle .lbo-cite__num,
.lbo-style-caption .lbo-cite--circle .lbo-cite__num,
.lbo-style-sidebar .lbo-cite--circle .lbo-cite__num,
.lbo-sidebar .lbo-cite--circle .lbo-cite__num,
.lbo-mono .lbo-cite--circle .lbo-cite__num {
	position: relative;
	top: 0px;
}

/* Narrow numeral stays 0px. Same value as the unscoped rule above. */
@media (max-width: 48rem) {
	.lbo-style-quote-author .lbo-cite--circle .lbo-cite__num,
	.lbo-style-caption .lbo-cite--circle .lbo-cite__num,
	.lbo-style-sidebar .lbo-cite--circle .lbo-cite__num,
	.lbo-sidebar .lbo-cite--circle .lbo-cite__num,
	.lbo-mono .lbo-cite--circle .lbo-cite__num {
		position: relative;
		top: 0px;
	}
}

/* Directory and search case circles. margin-top 0 is separate from .lbo-case__title .lbo-box__num. */
.lbo-finder__row .lbo-cite--circle,
.lbo-search-row .lbo-cite--circle {
	width: calc(var(--lbo-text-intro) * 14 / 15 + 2.5px);
	height: calc(var(--lbo-text-intro) * 14 / 15 + 2.5px);
	top: 0;
	margin-top: 0px;
}

.lbo-finder__row .lbo-cite--square,
.lbo-search-row .lbo-cite--square {
	width: calc(var(--lbo-text-intro) * 14 / 15);
	height: calc(var(--lbo-text-intro) * 14 / 15);
	top: 0;
	margin-top: 2px;
}

.lbo-finder__row .lbo-cite .lbo-cite__num,
.lbo-search-row .lbo-cite .lbo-cite__num {
	font-size: calc(var(--lbo-text-intro) * 8 / 15);
}

.lbo-cite__num {
	position: static;
	font-family: var(--lbo-font-mark);
	font-size: calc(var(--lbo-text-body) * 0.7);
	font-weight: var(--lbo-weight-mark);
	font-style: normal;
	font-synthesis: none;
	line-height: 1;
	font-variant-numeric: lining-nums proportional-nums;
	font-feature-settings: "lnum" 1, "pnum" 1, "onum" 0;
	letter-spacing: 0;
}

.lbo-cite:hover,
.lbo-cite:focus-visible {
	text-decoration: none;
	filter: brightness(0.92);
}

.lbo-chapter-link,
.lbo-prose a.lbo-chapter-link,
.lbo-style-body a.lbo-chapter-link,
.lbo-part__body a.lbo-chapter-link,
.lbo-chapter-body a.lbo-chapter-link,
.lbo-style-caption a.lbo-chapter-link,
.lbo-style-quote a.lbo-chapter-link,
.lbo-style-quote-author a.lbo-chapter-link,
.lbo-box a.lbo-chapter-link,
.lbo-case a.lbo-chapter-link,
.lbo-callout a.lbo-chapter-link {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: var(--lbo-chapter);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
	text-decoration-skip-ink: none;
	text-shadow: none;
	-webkit-text-stroke: 0;
}

.lbo-chapter-link:hover,
.lbo-chapter-link:focus-visible {
	text-decoration-thickness: 2px;
}

.lbo-finder__copy {
	min-width: 0;
}

.lbo-finder__title {
	font-family: var(--lbo-font-sans);
	font-size: var(--lbo-text-body);
	font-weight: 400;
	line-height: var(--lbo-leading-sans);
}

/* Case / box rows only: title 2px lower so it sits with the signed-off first-line mark. */
.lbo-finder__row:has(.lbo-cite--circle) .lbo-finder__title,
.lbo-finder__row:has(.lbo-cite--square) .lbo-finder__title {
	position: relative;
	top: 2px;
}

/* Narrow directory: centre the whole title block between the row rules. Circles stay on their own top. */
@media (max-width: 48rem) {
	.lbo-finder__row:has(.lbo-cite--circle) .lbo-finder__copy,
	.lbo-finder__row:has(.lbo-cite--square) .lbo-finder__copy {
		align-self: center;
	}

	.lbo-finder__row:has(.lbo-cite--circle) .lbo-finder__title,
	.lbo-finder__row:has(.lbo-cite--square) .lbo-finder__title {
		top: 0;
	}
}

.lbo-finder__list a.lbo-finder__row:hover .lbo-finder__title,
.lbo-finder__list a.lbo-finder__row:focus-visible .lbo-finder__title {
	text-decoration: none;
}

.lbo-ref-list__items {
	margin: 0;
	padding: 0 0 0 1.25rem;
}

.lbo-ref-list__items li {
	scroll-margin-top: calc(var(--lbo-bar-height) + 1rem);
}

.lbo-style-reference {
	scroll-margin-top: calc(var(--lbo-bar-height) + 1rem);
}

.lbo-ref {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* Content images stay visible unless the script has caught one that is still loading. */
img.lbo-img-wait {
	opacity: 0;
}

img.lbo-img-wait.is-shown {
	opacity: 1;
	transition: opacity 0.25s ease;
}

@media (prefers-reduced-motion: reduce) {
	img.lbo-img-wait,
	img.lbo-img-wait.is-shown {
		opacity: 1;
		transition: none;
	}
}
