.plHero {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: var(--gap-copy);
	padding: var(--stroke-hero) var(--gutter) var(--space-4);
}

.plHeroTitle {
	max-width: 100%;
	min-width: 0;
	font-size: var(--text-display);
	line-height: 1.2;
	text-wrap: balance;
}

.plHeroLede {
	max-width: 40rem;
	font-size: var(--text-lede);
	text-align: left;
	margin-top: var(--space-05);
	line-height: 1.35;
}

.reField {
	align-self: center;
	width: 100%;
	max-width: var(--content-width);
	margin: var(--space-15) 0 0;
	text-align: left;
}

.reField svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.reLabel {
	font-family: var(--font-serif);
	fill: var(--ink);
}

.plRow {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: var(--gap-spread);
	padding: var(--stroke-band) var(--gutter);
}

.plRowFold {
	background: var(--paper-deep);
}

.plTxt {
	display: flex;
	flex-direction: column;
	gap: var(--gap-step);
	max-width: var(--measure);
}

.plStepTitle {
	font-size: var(--text-heading);
	color: var(--amber);
	line-height: 1.15;
	text-wrap: balance;
}

.plStepDeck {
	font-size: var(--text-lede);
	line-height: 1.3;
	text-wrap: balance;
}

.plStepBody {
	font-size: var(--text-body);
	line-height: 1.45;
}

.plStepBody + .plStepBody {
	margin-top: var(--space-05);
}

.plBand {
	padding: var(--stroke-band) var(--gutter);
}

.plBandHead {
	display: flex;
	flex-direction: column;
	gap: var(--gap-step);
	max-width: var(--measure);
	margin-bottom: var(--space-3);
}

.lines {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-3) var(--gap-spread);
	list-style: none;
	margin: 0;
	padding: 0;
}

.line {
	display: grid;
	grid-template-columns: min(3rem, 15%) minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	gap: var(--space-075) var(--space-1);
	align-items: start;
	padding-top: var(--space-1);
}

.line svg {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	grid-row: span 2;
	color: var(--ink-700);
}

.line h3,
.deal h3 {
	font-size: 1.45rem;
	line-height: 1.15;
}

.line p,
.deal p {
	font-size: 1.1rem;
	line-height: 1.4;
	color: var(--ink-soft);
}

.placeBand {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-4);
}

.placeBand .lines {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	column-gap: var(--space-3);
}

.placeBeyond {
	padding-top: var(--space-3);
}

.placeBeyond .plBandHead {
	max-width: 40rem;
	margin-bottom: var(--space-2);
}

.deals {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
	gap: var(--space-3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.deal {
	display: flex;
	flex-direction: column;
	gap: var(--space-075);
	padding-top: var(--space-1);
}

.reApproaches {
	align-items: start;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr));
}

.reApproach {
	display: flex;
	flex-direction: column;
	gap: var(--gap-step);
	min-width: 0;
	position: relative;
}

.reApproach .plTxt {
	max-width: 36rem;
}

.portrait {
	width: 14rem;
	max-width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	margin: var(--space-05) 0;
	background: var(--paper-deep);
	border: var(--hairline) solid var(--rule);
	border-radius: var(--radius);
}

#judgment {
	grid-template-columns: 1fr;
	gap: var(--space-3);
	container-type: inline-size;
}

#judgment > .reProfile {
	display: grid;
	grid-template-columns: 14rem minmax(0, 1fr);
	column-gap: var(--space-3);
	width: 100%;
	max-width: none;
	align-items: start;
}

.reProfile .portrait {
	grid-column: 1;
	grid-row: 1 / 4;
	width: 100%;
	margin: 0;
}

.reProfile .plStepTitle,
.reProfile .plStepDeck,
.reProfile .plStepBody {
	grid-column: 2;
}

#judgment > .reContact {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: var(--space-075) var(--space-3);
	width: 100%;
	max-width: none;
	margin: 0;
	padding: var(--space-2) 0 0;
}

.reContact .reContactLabel {
	grid-column: 1;
	grid-row: 1;
}

.reContact .plStepDeck {
	grid-column: 1;
	grid-row: 2;
	overflow-wrap: anywhere;
}

.reEntity {
	font-size: 1.1rem;
	line-height: 1.45;
	color: var(--ink-soft);
	grid-column: 2;
	grid-row: 1 / 3;
}

.reLicense {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.25rem;
	grid-column: 2;
}

.reLicense li {
	display: flex;
	gap: var(--space-05);
	align-items: baseline;
	font-size: 1.1rem;
	line-height: 1.4;
	color: var(--ink-soft);
}

.reLicense b {
	font-weight: 400;
	font-variant-numeric: tabular-nums;
	color: var(--ink);
}

#judgment .name {
	border-bottom: var(--hairline) solid var(--ink);
	transition: border-color var(--duration-ui);
}

#judgment .name:hover {
	border-bottom-color: var(--amber);
}

.armed .a-rise {
	opacity: 0;
	transform: translateY(14px);
}

.play .a-rise {
	transition:
		opacity 0.6s var(--ease-out) var(--d, 0s),
		transform 0.6s var(--ease-out) var(--d, 0s);
}

@media (prefers-reduced-motion: reduce) {
	.armed .a-rise {
		opacity: 1;
		transform: none;
	}

	.play .a-rise {
		transition: none;
	}
}

@media (max-width: 900px) {
	.reField {
		align-self: stretch;
		width: auto;
		max-width: none;
		margin-left: calc(-1 * var(--gutter-mobile));
	}

	.plHero {
		padding: var(--space-2) var(--gutter-mobile) var(--space-3);
		align-items: flex-start;
		text-align: left;
	}

	.plHeroLede {
		font-size: 1.35rem;
		max-width: 36rem;
	}

	.plRow,
	.plBand {
		padding: var(--stroke-mobile) var(--gutter-mobile);
	}

	.plRow {
		gap: var(--space-2);
	}

	.plStepDeck {
		font-size: 1.35rem;
	}

	.plStepBody {
		font-size: var(--text-body-mobile);
	}

	.deals {
		grid-template-columns: 1fr;
		gap: var(--space-15);
	}

	.reApproaches {
		gap: var(--space-3);
	}

	.reApproach + .reApproach {
		padding-top: var(--space-2);
	}

	#judgment > .reProfile {
		grid-template-columns: 11rem minmax(0, 1fr);
		gap: var(--space-075) var(--space-2);
	}

	#judgment > .reContact {
		grid-template-columns: 1fr;
	}

	.reContact .reContactLabel,
	.reContact .plStepDeck,
	.reContact .reEntity,
	.reContact .reLicense {
		grid-column: auto;
		grid-row: auto;
	}

	.reContact .reEntity {
		margin-top: var(--space-1);
	}

	.portrait {
		width: 11rem;
	}
}

@media (max-width: 600px) {
	.plHeroTitle br {
		display: none;
	}

	.placeBand .lines {
		gap: var(--space-15);
	}
}

@media (max-width: 360px) {
	.plHeroTitle {
		font-size: 1.8rem;
	}
}

@container (max-width: 38rem) {
	#judgment > .reProfile {
		grid-template-columns: 1fr;
	}

	.reProfile .plStepTitle,
	.reProfile .plStepDeck,
	.reProfile .plStepBody {
		grid-column: 1;
	}

	.reProfile .portrait {
		grid-column: 1;
		grid-row: 3;
		width: min(11rem, 100%);
		margin: var(--space-05) 0;
	}
}

@media (max-width: 600px) {
	#judgment > .reProfile {
		grid-template-columns: 1fr;
	}

	.reProfile .plStepTitle,
	.reProfile .plStepDeck,
	.reProfile .plStepBody {
		grid-column: 1;
	}

	.reProfile .portrait {
		grid-column: 1;
		grid-row: 3;
		width: 11rem;
		margin: var(--space-05) 0;
	}
}

@media print {
	.armed .a-rise {
		opacity: 1;
		transform: none;
	}

	.line,
	.deal,
	.reContact {
		break-inside: avoid;
	}
}
