/* Generated from src/styles/p6.scss: yarn node blocks/p6/build-style.mjs */
.p2 {
	--p2-pair: var(--ds-space-pair);
	--p2-flow: var(--ds-space-flow);
	--p2-group: var(--ds-space-group);
	--p2-block: var(--block);
	--p2-fs-title: var(--fs-title);
	--p2-cols: repeat(12, minmax(0, 1fr));
}

.p2 h2, .p2 h3, .p2 p:where(:not(.doc__title)), .p2 ul, .p2 ol, .p2 dl, .p2 dd, .p2 figure {
	margin: 0;
}

.p2 ul, .p2 ol {
	padding: 0;
	list-style: none;
}

.p2.p2-band {
	padding: var(--section) 0 calc(var(--section) * 0.6);
	position: relative;
}

.p2-band > .container {
	position: relative;
	z-index: 1;
}

.p2-band--mist {
	background: var(--mist);
}

.p2-band--ink {
	background: var(--deep);
}

.p2-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 40px var(--gap);
}

.p2 .display-m {
	max-width: 16ch;
}

.p2-prose {
	display: grid;
	gap: var(--p2-flow);
	color: var(--ink-2);
	max-width: var(--measure);
}

.p2-prose > .link {
	justify-self: start;
}

.p2-head__aside p:first-child {
	font-size: var(--fs-lead);
	line-height: var(--fs-lead-leading);
	letter-spacing: -0.012em;
	color: var(--ink);
}

.p2-note {
	color: var(--ink-2);
	font-size: var(--fs-small);
	max-width: var(--measure);
}

.p2-label {
	font-size: var(--fs-label);
	color: var(--muted);
	letter-spacing: 0.02em;
}

.p2.p2-hero {
	padding: calc(var(--header) + var(--p2-group)) 0 calc(var(--section) * 0.5);
}

.p2-crumbs {
	font-size: var(--fs-label);
	color: var(--muted);
	margin-bottom: var(--p2-block);
}

.p2-crumbs span[aria-hidden] {
	margin: 0 0.5em;
}

.p2-hero h1 {
	max-width: 13ch;
}

.p2-hero__aside {
	display: grid;
	justify-items: start;
	gap: var(--p2-group);
}

.p2-hero__aside .lead {
	max-width: 40ch;
	font-size: var(--fs-lead);
	line-height: var(--fs-lead-leading);
	letter-spacing: -0.012em;
	color: var(--ink);
}

.p2-hero__aside p:not(.lead) {
	color: var(--ink-2);
	max-width: 40ch;
}

.p2-index {
	margin-top: calc(var(--p2-block) * 1.2);
	border-top: 1px solid var(--line-strong);
	display: grid;
	grid-template-columns: 1fr;
}

.p2-index a {
	display: grid;
	grid-template-columns: 2.2em 1fr;
	gap: var(--p2-pair);
	align-items: baseline;
	padding: 22px 0;
	min-height: 44px;
	border-bottom: 1px solid var(--line);
	font-size: var(--p2-fs-title);
	letter-spacing: -0.03em;
	line-height: var(--fs-title-leading);
}

.p2-index a b {
	font-weight: 400;
	color: var(--petrol);
	font-variant-numeric: tabular-nums;
}

.p2-head {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--p2-group) var(--gap);
	margin-bottom: var(--p2-block);
	align-items: end;
}

.p2-compare {
	width: 100%;
	border-collapse: collapse;
}

.p2-compare caption {
	text-align: left;
	caption-side: top;
	padding-bottom: var(--p2-group);
}

.p2-compare thead {
	display: none;
}

.p2-compare tr {
	display: grid;
	grid-template-columns: 1fr;
	border-top: 1px solid var(--line-strong);
	padding: 22px 0 26px;
	row-gap: var(--p2-pair);
}

.p2-compare tbody tr:last-child {
	border-bottom: 1px solid var(--line-strong);
}

.p2-compare th[scope='row'] {
	text-align: left;
	font-weight: 400;
	font-size: var(--p2-fs-title);
	letter-spacing: -0.03em;
	line-height: var(--fs-title-leading);
	padding-bottom: 6px;
}

.p2-compare td {
	display: grid;
	gap: 4px;
	color: var(--ink-2);
	padding: 0;
}

.p2-compare td::before {
	content: attr(data-label);
	color: var(--petrol);
	font-size: var(--fs-label);
	letter-spacing: 0.02em;
}

.p2-compare__heads {
	display: none;
}

.p2-after {
	margin-top: var(--p2-group);
}

.p2-ledger {
	border-top: 1px solid var(--line-strong);
}

.p2-ledger caption {
	text-align: left;
	padding-bottom: var(--p2-group);
}

.p2-ledger, .p2-ledger tbody {
	display: block;
}

.p2-ledger thead {
	display: none;
}

.p2-ledger tr {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: var(--p2-flow);
	padding: 34px 0 38px;
	border-bottom: 1px solid var(--line-strong);
}

.p2-ledger th[scope='row'] {
	text-align: left;
	font-weight: 400;
	display: grid;
	gap: var(--p2-pair);
	align-content: start;
}

.p2-ledger__fig {
	font-size: var(--fs-m);
	letter-spacing: -0.04em;
	line-height: var(--weberloom-line-height-figure);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	color: var(--ink);
}

.p2-ledger__fig small {
	font-size: var(--fs-small);
	letter-spacing: 0;
	color: var(--muted);
	margin-left: 0.5em;
	vertical-align: 0.9em;
}

.p2-ledger__name {
	font-size: var(--p2-fs-title);
	letter-spacing: -0.03em;
	line-height: var(--fs-title-leading);
}

.p2-ledger td {
	display: grid;
	gap: var(--p2-pair);
	align-content: start;
	color: var(--ink-2);
}

.p2-ledger td::before {
	content: attr(data-label);
	font-size: var(--fs-label);
	color: var(--muted);
	letter-spacing: 0.02em;
}

.p2-ledger td:first-of-type {
	color: var(--ink);
}

.p2-discovery {
	margin-top: var(--p2-block);
	display: grid;
	grid-template-columns: 1fr;
	column-gap: var(--gap);
}

.p2-discovery .ed {
	margin-top: var(--p2-group);
}

.p2-discovery p:not(.ed) {
	color: var(--ink-2);
	max-width: var(--measure);
	border-left: 1px solid var(--petrol);
	padding-left: var(--p2-flow);
}

.p2-checks .moment__text p:not(.moment__when) {
	color: var(--ink-2);
	max-width: 44ch;
}

.p2-anatomy .doc__title {
	margin-bottom: 8px;
}

.p2-anatomy ol {
	counter-reset: none;
}

.p2-anatomy li {
	border-top: 1px solid var(--on-deep-line);
	padding: 13px 0;
	font-size: 1.0625rem;
	display: flex;
	justify-content: space-between;
	gap: 16px;
}

.p2-anatomy li span:last-child {
	color: var(--on-deep-muted);
}

/* The marking of an illustrative document; P3 and the later pages import it from here. */
.p2 .doc__top {
	flex-wrap: wrap;
	gap: var(--p2-pair);
}

.p3-badge {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: calc(var(--p2-pair) / 2) var(--p2-pair);
	border: 1px dashed var(--petrol);
	border-radius: var(--weberloom-radius-lg);
	color: var(--petrol);
	font-size: var(--fs-label);
	letter-spacing: 0.02em;
	font-weight: 500;
}

.p2-anatomy .doc__sheet {
	transform: rotateX(2deg) rotateY(-3deg) rotateZ(0.4deg);
}

.p2-materials {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0 var(--gap);
}

.p2-materials li {
	border-top: 1px solid var(--line-strong);
	padding: 26px 0 30px;
	color: var(--ink-2);
	display: grid;
	gap: var(--p2-pair);
	align-content: start;
}

.p2-materials li b {
	font-weight: 400;
	color: var(--ink);
	font-size: var(--p2-fs-title);
	letter-spacing: -0.03em;
	line-height: var(--fs-title-leading);
}

.p2-approve {
	margin-top: var(--p2-block);
	display: grid;
	grid-template-columns: 30px 1fr;
	column-gap: var(--p2-flow);
	align-items: start;
	max-width: 62ch;
}

.p2 .p2-approve .yes__mark {
	position: relative;
	inset: auto;
	margin: 0.15em 0 0;
}

.p2-approve p {
	font-size: var(--fs-lead);
	line-height: var(--fs-lead-leading);
	letter-spacing: -0.012em;
}

.p2-separate .p2-prose p:first-child {
	font-size: var(--fs-lead);
	line-height: var(--fs-lead-leading);
	color: var(--ink);
}

.p2-separate .p2-prose p:last-child {
	color: var(--ink);
}

.p2-text .p2-prose p:first-child {
	font-size: var(--fs-lead);
	line-height: var(--fs-lead-leading);
	color: var(--ink);
}

/* Text sections in a row share the white ground: a hairline keeps each one its own. */
.p2-links {
	display: grid;
	gap: var(--p2-pair);
	justify-items: start;
}

.p2.p2-text + .p2.p2-text {
	padding-top: 0;
}

.p2-text + .p2-text .p2-grid {
	border-top: 1px solid var(--line-strong);
	padding-top: calc(var(--section) * 0.6);
}

.p2-arr {
	margin-top: var(--p2-block);
}

.p2-arr__pair {
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px var(--gap);
}

.p2-arr__item {
	border-top: 1px solid var(--line-strong);
	padding-top: 26px;
	display: grid;
	gap: var(--p2-flow);
	align-content: start;
}

.p2-arr__letter {
	display: block;
	font-size: var(--fs-m);
	letter-spacing: -0.04em;
	line-height: var(--weberloom-line-height-figure);
	color: var(--petrol);
	margin-bottom: var(--p2-flow);
}

.p2-arr__item h3 {
	font-weight: 400;
	font-size: var(--p2-fs-title);
	letter-spacing: -0.03em;
	line-height: var(--fs-title-leading);
}

.p2-arr__item dl {
	display: grid;
	gap: var(--p2-flow);
}

.p2-arr__item dt {
	font-size: var(--fs-label);
	color: var(--muted);
	letter-spacing: 0.02em;
	margin-bottom: 6px;
}

.p2-arr__item dd {
	color: var(--ink-2);
	max-width: 46ch;
}

.p2-arr__item--c {
	margin-top: 48px;
	border-top: 1px dashed var(--line-strong);
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--p2-pair) var(--gap);
}

.p2-arr__item--c .p2-arr__letter {
	color: var(--muted);
	font-size: var(--p2-fs-title);
	line-height: var(--fs-title-leading);
	margin-bottom: 0;
}

.p2-arr__item--c h3 {
	color: var(--ink-2);
}

.p2-arr__foot {
	margin-top: var(--p2-block);
}

.p2 .p2-lanes {
	margin: 0 0 var(--p2-block);
	display: grid;
	gap: 34px;

	--t-mid: 50%;
}

.p2-axis {
	position: relative;
	height: 1.6em;
	font-size: var(--fs-label);
	color: var(--muted);
	border-bottom: 1px solid var(--line-strong);
}

.p2-axis span {
	position: absolute;
	bottom: 8px;
	white-space: nowrap;
}

.p2-axis span:nth-child(1) {
	left: 0;
}

.p2-axis span:nth-child(2) {
	left: var(--t-mid);
	transform: translateX(-50%);
	color: var(--ink);
}

.p2-axis::after {
	content: '';
	position: absolute;
	left: var(--t-mid);
	bottom: -5px;
	width: 1px;
	height: 9px;
	background: var(--ink);
}

.p2-lane {
	display: grid;
	gap: var(--p2-pair);
}

.p2-lane__name {
	font-size: var(--fs-small);
	font-weight: 500;
	color: var(--ink);
}

.p2-lane__track {
	position: relative;
	height: 14px;
}

.p2-bar {
	position: absolute;
	top: 0;
	bottom: 0;
	border-radius: 999px;
	transform-origin: 0 50%;
	transform: scaleX(var(--p, 1));
	transition: transform 1.4s var(--ease-io);
}

.p2-bar--inc {
	left: 0;
	width: var(--t-mid);
	background: var(--petrol);
}

.p2-bar--renew {
	left: var(--t-mid);
	right: 0;
	background: repeating-linear-gradient(90deg, var(--petrol) 0 10px, transparent 10px 18px);
	opacity: 0.55;
	height: 2px;
	top: 6px;
	border-radius: 0;
}

.p2-bar--care {
	left: 0;
	right: 0;
	border: 1px solid var(--petrol-glow);
	background: color-mix(in srgb, var(--petrol) 12%, transparent);
}

.p2-bar--care i {
	position: absolute;
	left: 6px;
	right: 6px;
	top: 50%;
	height: 2px;
	margin-top: -1px;
	background: var(--petrol);
	border-radius: 2px;
}

.p2-lane__marks {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: var(--gap);
	font-size: var(--fs-small);
	color: var(--ink-2);
}

.p2-lane__marks span:first-child {
	color: var(--ink);
}

.p2-lane__marks--care {
	grid-template-columns: 1fr;
}

.p2-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px var(--gap);
}

.p2-split h3 {
	font-weight: 400;
	font-size: var(--p2-fs-title);
	letter-spacing: -0.03em;
	line-height: var(--fs-title-leading);
	margin-bottom: var(--p2-flow);
}

.p2-faq-wrap > h2 {
	margin-bottom: var(--p2-block);
}

.p2-faq {
	border-top: 1px solid var(--line-strong);
}

.p2-faq details {
	border-bottom: 1px solid var(--line-strong);
}

.p2-faq summary {
	list-style: none;
	cursor: pointer;
	display: grid;
	grid-template-columns: 1fr 28px;
	gap: var(--p2-flow);
	align-items: center;
	min-height: 44px;
	padding: 24px 0;
	font-size: var(--fs-lead);
	letter-spacing: -0.012em;
	line-height: var(--fs-lead-leading);
}

.p2-faq summary::-webkit-details-marker {
	display: none;
}

.p2-faq summary i {
	position: relative;
	width: 28px;
	height: 28px;
	border: 1px solid var(--line-strong);
	border-radius: 50%;
}

.p2-faq summary i::before, .p2-faq summary i::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 11px;
	height: 1.5px;
	margin: -0.75px 0 0 -5.5px;
	background: var(--ink);
	transition: transform 0.2s var(--ease-out);
}

.p2-faq summary i::after {
	transform: rotate(90deg);
}

.p2-faq details[open] summary i::after {
	transform: rotate(0deg);
}

.p2-faq details[open] summary i {
	border-color: var(--petrol);
}

.p2-faq summary:hover {
	color: var(--petrol-glow);
}

.p2-faq .p2-faq__a {
	color: var(--ink-2);
	max-width: var(--measure);
	padding: 0 0 30px;
}

.p2 summary:focus-visible {
	outline: 2px solid var(--petrol);
	outline-offset: 4px;
	border-radius: 4px;
}

.p2-motion [data-rise] {
	opacity: 0;
	transform: translateY(14px) scale(0.98);
	transition: opacity 0.45s var(--ease-out), transform 0.45s var(--ease-out);
}

.p2-motion [data-rise].is-in {
	opacity: 1;
	transform: none;
}

.p2-motion .p2-lanes:not(.is-in) .p2-bar {
	--p: 0;
}

html.still .p2-motion [data-rise] {
	opacity: 1;
	transform: none;
	transition: none;
}

html.still .p2-motion .p2-bar {
	--p: 1;

	transition: none;
}

@media (prefers-reduced-motion: reduce) {
	.p2-faq summary i::before, .p2-faq summary i::after {
		transition: none;
	}

	.p2-motion [data-rise] {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.p2-motion .p2-bar {
		--p: 1;

		transition: none;
	}
}
/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 768px) {
	.p2-index {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: var(--gap);
	}

	.p2-index a {
		border-bottom: 0;
		grid-template-columns: 1fr;
		align-items: start;
		align-content: start;
		padding: 26px 0 0;
		gap: 14px;
	}

	.p2-materials {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p2-materials li:first-child b {
		margin-top: calc(1.6469rem + var(--p2-pair));
	}

	.p2-arr__pair {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p2-ed-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p2-split {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p2-lane__marks--care {
		grid-template-columns: 1fr;
	}
}
/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 1200px) {
	.p2-grid, .p2-head, .p2-discovery {
		grid-template-columns: var(--p2-cols);
	}

	.p2-hero .p2-grid {
		align-items: end;
	}

	.p2-hero h1 {
		grid-column: 1/span 8;
	}

	.p2-hero__aside {
		grid-column: 9/span 4;
		padding-bottom: var(--ds-space-pair);
	}

	.p2-head > h2 {
		grid-column: 1/span 7;
	}

	.p2-head > .p2-head__aside {
		grid-column: 8/span 5;
		padding-bottom: var(--ds-space-pair);
	}

	.p2-compare__heads {
		display: grid;
		grid-template-columns: var(--p2-cols);
		column-gap: var(--gap);
		padding-bottom: 22px;
	}

	.p2-compare__heads span {
		font-size: var(--fs-s);
		letter-spacing: -0.03em;
		line-height: var(--fs-s-leading);
	}

	.p2-compare__heads span:nth-child(1) {
		grid-column: 1/span 4;
		font-size: var(--fs-label);
		letter-spacing: 0.02em;
		color: var(--muted);
		align-self: end;
	}

	.p2-compare__heads span:nth-child(2) {
		grid-column: 5/span 4;
	}

	.p2-compare__heads span:nth-child(3) {
		grid-column: 9/span 4;
	}

	.p2-compare tr {
		grid-template-columns: var(--p2-cols);
		column-gap: var(--gap);
		padding: 26px 0 30px;
	}

	.p2-compare th[scope='row'] {
		grid-column: 1/span 4;
		font-size: var(--fs-lead);
		padding: 0;
	}

	.p2-compare td {
		display: block;
		font-size: var(--fs-lead);
		line-height: var(--fs-lead-leading);
		letter-spacing: -0.012em;
		color: var(--ink);
	}

	.p2-compare td::before {
		display: none;
	}

	.p2-compare td:nth-of-type(1) {
		grid-column: 5/span 4;
		padding-right: var(--ds-space-flow);
	}

	.p2-compare td:nth-of-type(2) {
		grid-column: 9/span 4;
	}

	.p2-after {
		display: grid;
		grid-template-columns: var(--p2-cols);
		column-gap: var(--gap);
	}

	.p2-after > * {
		grid-column: 5/span 8;
	}

	.p2-ed-row {
		grid-template-columns: var(--p2-cols);
	}

	.p2-ed-row > :nth-child(1) {
		grid-column: 5/span 4;
	}

	.p2-ed-row > :nth-child(2) {
		grid-column: 9/span 4;
	}

	.p2-ledger tr {
		grid-template-columns: var(--p2-cols);
		column-gap: var(--gap);
	}

	.p2-ledger th[scope='row'] {
		grid-column: 1/span 4;
	}

	.p2-ledger td:nth-of-type(1) {
		grid-column: 5/span 4;
	}

	.p2-ledger td:nth-of-type(2) {
		grid-column: 9/span 4;
	}

	.p2-discovery p:not(.ed) {
		grid-column: 5/span 7;
	}

	.p2-discovery .ed {
		grid-column: 5/span 8;
		margin-top: var(--p2-group);
	}

	.p2-materials {
		grid-template-columns: var(--p2-cols);
	}

	.p2-materials li:nth-child(odd) {
		grid-column: 1/span 6;
	}

	.p2-materials li:nth-child(even) {
		grid-column: 7/span 6;
	}

	.p2-approve {
		margin-left: 0;
	}

	.p2-separate .p2-grid > h2, .p2-text .p2-grid > h2 {
		grid-column: 1/span 5;
	}

	.p2-separate .p2-grid > .p2-prose, .p2-text .p2-grid > .p2-prose {
		grid-column: 7/span 6;
	}

	.p2-arr__pair {
		grid-template-columns: var(--p2-cols);
	}

	.p2-arr__pair > :nth-child(1) {
		grid-column: 1/span 6;
	}

	.p2-arr__pair > :nth-child(2) {
		grid-column: 7/span 6;
	}

	.p2-arr__item--c {
		grid-template-columns: var(--p2-cols);
		align-items: baseline;
	}

	.p2-arr__item--c > h3 {
		grid-column: 1/span 6;
		display: flex;
		gap: var(--gap);
		align-items: baseline;
	}

	.p2-arr__item--c .p2-arr__letter {
		margin: 0;
	}

	.p2-arr__item--c > dl {
		grid-column: 7/span 6;
		grid-template-columns: 1fr 1fr;
		column-gap: var(--gap);
	}

	.p2-arr__foot {
		display: grid;
		grid-template-columns: var(--p2-cols);
		column-gap: var(--gap);
		margin-top: var(--p2-group);
	}

	.p2-arr__foot > * {
		grid-column: 7/span 6;
	}

	.p2-split {
		grid-template-columns: var(--p2-cols);
	}

	.p2-split > :nth-child(1) {
		grid-column: 1/span 5;
	}

	.p2-split > :nth-child(2) {
		grid-column: 7/span 6;
	}

	.p2-faq-wrap {
		display: grid;
		grid-template-columns: var(--p2-cols);
		column-gap: var(--gap);
		align-items: start;
	}

	.p2-faq-wrap > h2 {
		grid-column: 1/span 5;
		position: sticky;
		top: calc(var(--header) + 40px);
		margin-bottom: 0;
	}

	.p2-faq-wrap > .p2-faq {
		grid-column: 6/span 7;
	}
}

.p2 {
	overflow-wrap: anywhere;
}

.p2-compare, .p2-ledger {
	inline-size: 100%;
}

.p2-compare thead, .p2-ledger thead {
	display: table-header-group;
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.p2-arr__pair {
	margin-top: var(--p2-group);
}

.p2-evidence {
	margin-top: var(--p2-group);
	display: grid;
	gap: var(--p2-pair);
}

.p2-anatomy li span:first-child {
	color: var(--on-deep-muted);
}

.p2-cta .pill {
	color: var(--paper);
}

/* From the wide rung a column holds more than a line should: small text stays near 70 characters a line. */
/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 1710px) {
	.p2 {
		--p2-measure: 52ch;
	}

	.p2-prose, .p2-note, .p2-discovery p:not(.ed), .p2-faq .p2-faq__a, .p2-ledger td, .p2-materials li > span {
		max-width: var(--p2-measure);
	}
}

/* P3 composition extends the shared P2 roles and the common breakpoint ladder. */
.p2 .p3-eyebrow {
	font-size: var(--fs-label);
	letter-spacing: 0.02em;
	color: var(--petrol);
	margin: 0 0 var(--p2-flow);
}

/* Planned care: four duties as a ledger, not cards */
.p3-actions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0 var(--gap);
}

.p3-actions li {
	border-top: 1px solid var(--line-strong);
	padding: 26px 0 30px;
	display: grid;
	gap: var(--p2-pair);
	align-content: start;
}

.p3-actions h3,
.p3-scenario h3,
.p3-boundary h3,
.p3-costs h3 {
	font-weight: 400;
	font-size: var(--p2-fs-title);
	letter-spacing: -0.03em;
	line-height: var(--fs-title-leading);
	text-wrap: balance;
}

.p3-actions li > p {
	color: var(--ink-2);
	max-width: 46ch;

	/* A `flow` under the heading: the card's own `pair` and the rest */
	margin-top: calc(var(--p2-flow) - var(--p2-pair));
}

/* The report: a plain document with its status in words; nothing reads as a measured result */
.p3-report-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--p2-group) var(--gap);
}

.p3-report {
	margin: 0;
	background: var(--mist);
	border: 1px solid var(--line-strong);
	padding: var(--p2-group) var(--p2-flow);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--p2-flow);
	align-content: start;
}

.p3-report__top {
	display: flex;
	padding-bottom: var(--p2-flow);
	border-bottom: 1px solid var(--line);
}

.p3-report__caption {
	font-size: var(--fs-lead);
	line-height: var(--fs-lead-leading);
	letter-spacing: -0.012em;
	color: var(--ink);
	max-width: 46ch;
}

.p3-report__meta {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--p2-pair) var(--gap);
}

.p3-report__meta div {
	display: grid;
	gap: 4px;
	align-content: start;
}

.p3-report__meta dt,
.p3-report__table thead th,
.p3-report__table td::before {
	font-size: var(--fs-label);
	letter-spacing: 0.02em;
	color: var(--muted);
	font-weight: 400;
}

.p3-report__meta dd {
	color: var(--ink);
}

.p3-blank {
	display: inline-block;
	padding: 2px 10px;
	border: 1px dashed var(--line-strong);
	border-radius: 999px;
	color: var(--ink-2);
	font-size: var(--fs-small);
	white-space: nowrap;
}

.p3-report__table,
.p3-report__table tbody {
	display: block;
	inline-size: 100%;
	border-collapse: collapse;
}

.p3-report__table thead {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.p3-report__table tr {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: var(--p2-pair);
	padding: var(--p2-flow) 0;
	border-top: 1px solid var(--line);
}

.p3-report__table th[scope='row'] {
	text-align: left;
	font-weight: 500;
	color: var(--ink);
}

.p3-report__table td {
	display: grid;
	gap: 4px;
	justify-items: start;
	color: var(--ink-2);
	padding: 0;
}

.p3-report__table td::before {
	content: attr(data-label);
}

.p3-scenario {
	border-left: 1px solid var(--petrol);
	padding-left: var(--p2-flow);
	display: grid;
	gap: var(--p2-pair);
	align-content: start;
	color: var(--ink-2);
	max-width: var(--measure);
}

.p3-scenario h3 {
	color: var(--ink);
	margin-bottom: 4px;
}

.p3-scenario__case {
	color: var(--ink);
}

.p3-report-note {
	max-width: 62ch;
}

/* Care scopes: the hours are the one difference, so they carry the scale */
.p2 .p3-caption {
	margin-bottom: var(--p2-group);
}

.p3-compare .p3-scope-hours {
	border-top: 2px solid var(--petrol);
}

.p3-compare .p3-scope-hours td {
	display: block;
}

.p3-compare .p3-scope-hours td::before {
	display: block;
	margin-bottom: 4px;
}

.p3-fig {
	font-size: var(--fs-m);
	letter-spacing: -0.04em;
	line-height: var(--weberloom-line-height-figure);
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	color: var(--ink);
}

.p3-unit {
	font-size: var(--fs-small);
	color: var(--ink-2);
	letter-spacing: 0;
}

.p3-hours-note {
	margin-top: var(--p2-group);
}

.p3-hours-note .p2-prose > p:first-child {
	color: var(--ink);
}

/* Packages keep a complete reading order on a phone; the wide view compares the same values by row. */
.p3-packages__table {
	display: none;
	inline-size: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	color: var(--ds-text);
}

.p3-packages__caption {
	caption-side: top;
	text-align: left;
	color: var(--ds-text);
	font-size: var(--fs-lead);
	line-height: var(--fs-lead-leading);
	padding-bottom: var(--p2-group);
}

.p3-packages__cards {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--p2-group);
}

.p3-packages__cards > .p3-packages__caption {
	padding-bottom: 0;
}

.p3-package {
	min-inline-size: 0;
	border-top: 1px solid var(--weberloom-border-strong);
	padding-block: var(--p2-group);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--p2-flow);
	align-content: start;
}

.p3-package:last-child {
	border-bottom: 1px solid var(--weberloom-border-strong);
}

.p3-package__name {
	color: var(--ds-text);
	font-weight: var(--weberloom-font-weight-regular);
	font-size: var(--p2-fs-title);
	letter-spacing: var(--weberloom-letter-spacing-tight);
	line-height: var(--fs-title-leading);
	text-wrap: balance;
}

.p3-package__price {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--ds-space-pair);
	align-content: start;
	justify-items: start;
	font-variant-numeric: tabular-nums;
}

.p3-package__old,
.p3-package__period {
	color: var(--ds-text-muted);
	font-size: var(--fs-small);
}

.p3-package__old {
	text-decoration-thickness: 1px;
	line-height: var(--fs-small-leading);
}

.p3-package__current {
	color: var(--ds-text);
	font-size: var(--fs-s);
	line-height: var(--fs-s-leading);
	letter-spacing: var(--weberloom-letter-spacing-tight);
}

.p3-package__features {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

.p3 .p3-package__features {
	margin-top: var(--p2-pair);
}

.p3-package__features li {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: var(--p2-pair);
	align-items: start;
	border-top: 1px solid var(--ds-border);
	padding-block: var(--p2-flow);
}

.p3-package__label {
	min-inline-size: 0;
	color: var(--ds-text);
}

.p3-package__value {
	min-inline-size: 0;
	color: var(--ds-text);
	overflow-wrap: anywhere;
}

.p3-package__features .p3-package__value {
	text-align: right;
	justify-self: stretch;
}

.p3-package__status--included {
	color: var(--wp--preset--color--accent-text);
}

.p3-package__status--excluded {
	color: var(--ds-text-muted);
}

.p3 .p3-packages__note {
	margin-top: var(--p2-group);
	max-inline-size: var(--measure);
	color: var(--ds-text-muted);
	font-size: var(--fs-small);
}

.p3-boundary,
.p3-costs {
	margin-top: var(--p2-block);
	padding-top: 26px;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--p2-flow) var(--gap);
	align-items: start;
}

.p3-boundary {
	border-top: 1px dashed var(--line-strong);
}

.p3-costs {
	border-top: 1px solid var(--line-strong);
}

/* Responsibilities: A and B side by side as one table, C apart */
.p3-arr,
.p3-arr tbody {
	display: block;
	inline-size: 100%;
	border-collapse: collapse;
}

.p3-arr thead {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.p3-arr tbody {
	display: grid;
	grid-template-columns: 1fr;
	gap: 48px var(--gap);
}

.p3-arr th[scope='row'] {
	text-align: left;
	font-weight: 400;
	font-size: var(--p2-fs-title);
	letter-spacing: -0.03em;
	line-height: var(--fs-title-leading);
}

.p3-arr td {
	display: grid;
	gap: 6px;
	color: var(--ink-2);
	max-width: 46ch;
	padding: 0;
}

.p3-arr td::before {
	content: attr(data-label);
	font-size: var(--fs-label);
	color: var(--muted);
	letter-spacing: 0.02em;
}

.p3-alt > p {
	color: var(--ink-2);
	max-width: 46ch;
}

.p3-costs__lead {
	font-size: var(--fs-lead);
	line-height: var(--fs-lead-leading);
	letter-spacing: -0.012em;
	color: var(--ink);
}

.p3-costs__own {
	color: var(--ink);
}

.p3-costs .link {
	justify-self: start;
}

/* Contact */
.p3-related {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 var(--p2-pair);
	color: var(--ink-2);
}

/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 768px) {
	.p3-index {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: var(--p2-flow);
	}

	.p3-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p3-report {
		padding: var(--p2-group);
	}

	.p3-report__meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p3-report__table {
		display: table;
		table-layout: fixed;
	}

	.p3-report__table tbody {
		display: table-row-group;
	}

	.p3-report__table thead {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip-path: none;
		display: table-header-group;
	}

	.p3-report__table tr {
		display: table-row;
	}

	.p3-report__table th,
	.p3-report__table td {
		display: table-cell;
		vertical-align: top;
		text-align: left;
		padding: var(--p2-flow) var(--p2-flow) var(--p2-flow) 0;
		border-top: 1px solid var(--line);
	}

	.p3-report__table thead th {
		padding-top: 0;
		padding-bottom: var(--p2-pair);
		border-top: 0;
	}

	.p3-report__table thead th:nth-child(1),
	.p3-report__table thead th:nth-child(3) {
		width: 25%;
	}

	.p3-report__table th:last-child,
	.p3-report__table td:last-child {
		padding-right: 0;
	}

	.p3-report__table td::before {
		display: none;
	}

	.p3-arr tbody {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 1200px) {
	.p3-packages__cards {
		display: none;
	}

	.p3-packages__table {
		display: table;
	}

	.p3-packages__table th,
	.p3-packages__table td {
		padding: var(--p2-flow);
		border-bottom: 1px solid var(--ds-border);
		vertical-align: middle;
		text-align: left;
		font-weight: var(--weberloom-font-weight-regular);
		overflow-wrap: anywhere;
	}

	.p3-packages__table th:first-child {
		inline-size: 36%;
		padding-left: 0;
	}

	.p3-packages__table th:last-child,
	.p3-packages__table td:last-child {
		padding-right: 0;
	}

	.p3-packages__table thead th {
		padding-top: 0;
		padding-bottom: var(--p2-group);
		border-bottom-color: var(--weberloom-border-strong);
		vertical-align: top;
	}

	.p3-packages__table thead th:first-child {
		color: var(--ds-text-muted);
		font-size: var(--fs-small);
		vertical-align: bottom;
	}

	.p3-packages__table thead th:not(:first-child) {
		font-size: var(--p2-fs-title);
		line-height: var(--fs-title-leading);
		letter-spacing: var(--weberloom-letter-spacing-tight);
		text-wrap: balance;
	}

	.p3-packages__table tfoot th,
	.p3-packages__table tfoot td {
		padding-top: var(--p2-group);
		padding-bottom: 0;
		border-bottom: 0;
		vertical-align: top;
	}

	/* A package with no previous price keeps the current price on its neighbours' line. */
	.p3-packages__table .p3-package__price:not(:has(.p3-package__old))::before {
		content: '';
		font-size: var(--fs-small);
		line-height: var(--fs-small-leading);
		block-size: 1lh;
	}

	.p3-hero__title {
		grid-column: 1/span 8;
	}

	.p3-index {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.p3-actions {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.p3-report-grid {
		grid-template-columns: var(--p2-cols);
		align-items: start;
	}

	.p3-report {
		grid-column: 1/span 8;
		padding: var(--wp--preset--spacing--70);
	}

	.p3-report__table thead th:first-child {
		width: 30%;
	}

	.p3-scenario {
		grid-column: 10/span 3;
	}

	.p3-report-note {
		grid-column: 1/span 8;
	}

	.p3-boundary,
	.p3-costs {
		grid-template-columns: var(--p2-cols);
	}

	.p3-boundary > h3 {
		grid-column: 1/span 4;
	}

	.p3-boundary > .p2-prose {
		grid-column: 5/span 7;
	}

	.p3-costs > h3 {
		grid-column: 1/span 6;
	}

	.p3-costs > .p2-prose {
		grid-column: 7/span 6;
	}

	.p3-arr tbody {
		grid-template-columns: var(--p2-cols);
	}

	.p3-arr tr:nth-child(1) {
		grid-column: 1/span 6;
	}

	.p3-arr tr:nth-child(2) {
		grid-column: 7/span 6;
	}

	.p3-alt > p {
		grid-column: 7/span 6;
	}

	.p3-compare .p3-scope-hours td::before {
		display: none;
	}
}

.p3 {
	overflow-wrap: anywhere;
}

.p3 .p3-blank {
	white-space: normal;
}

/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 768px) {
	.p3 .p3-report__table :is(th, td) {
		overflow-wrap: break-word;
	}
}
/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 1200px) {
	.p3-report__table thead th:first-child {
		width: 25%;
	}
}

/* Keep the middle column at the existing P2 measure; the result takes the remaining width. */
/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 1710px) {
	.p3-report-note {
		max-width: var(--p2-measure);
	}

	.p3-report__table thead th:nth-child(2) {
		width: var(--p2-measure);
	}

	.p3-report__table thead th:nth-child(3) {
		width: auto;
	}
}

/* Contact-specific composition. P2 and P3 remain shared with the service pages. */
.p6.p2-hero {
	padding-bottom: 0;
}

.p6 .p2-crumbs {
	margin-bottom: var(--ds-space-block);
	font-size: var(--fs-small);
	line-height: var(--fs-small-leading);
}

.p6-contact {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--ds-space-block) var(--gap);
	align-items: start;
}

.p6-contact__intro {
	display: block;
}

.p6-contact__intro h1 {
	max-width: none;
	font-weight: 400;
	font-size: var(--fs-hero);
	line-height: var(--fs-hero-leading);
	letter-spacing: var(--fs-hero-tracking);
	overflow-wrap: break-word;
}

.p6 .p6-contact__intro > * + * {
	margin-top: var(--ds-space-group);
}

.p6-contact__intro .lead {
	inline-size: 100%;
	max-inline-size: 52ch;
	max-width: 52ch;
	font-size: var(--fs-lead);
	line-height: var(--fs-lead-leading);
	letter-spacing: var(--fs-lead-tracking);
	color: var(--ink);
}

.p6-contact__form, .p6-contact__direct {
	border-top: 1px solid var(--weberloom-border-strong);
	padding-top: var(--ds-space-group);
	min-inline-size: 0;
}

.p6-contact__form h2, .p6-contact__direct h2, .p6-next h3, .p6-next b {
	font-weight: 400;
	font-size: var(--fs-title);
	letter-spacing: var(--fs-title-tracking);
	line-height: var(--fs-title-leading);
}

.p6-contact__form > p, .p6-contact__direct > p {
	margin-top: var(--ds-space-flow);
	color: var(--ink);
}

.p6-contact__form > .p2-note {
	color: var(--muted);
	font-size: var(--fs-small);
	line-height: var(--fs-small-leading);
}

.p6-contact__form .weberloom-form-block__form {
	margin-top: var(--ds-space-block);
}

.p6 .weberloom-form__hint {
	margin-top: var(--ds-space-bond);
}

.p6 .weberloom-form__status {
	margin-top: 0;
}

.p6 .weberloom-form__status:focus {
	outline: none;
}

.p6-contact__direct dl {
	margin-top: var(--ds-space-block);
}

.p6-contact__direct dl > div {
	display: grid;
	gap: var(--ds-space-bond) var(--gap);
	align-items: baseline;
	padding-block: var(--ds-space-flow);
	border-top: 1px solid var(--wp--preset--color--border);
}

.p6-contact__direct dl > div:last-child {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.p6-contact__direct dt {
	color: var(--muted);
}

.p6-contact__direct dd {
	min-inline-size: 0;
	font-size: var(--fs-lead);
	line-height: var(--fs-lead-leading);
	letter-spacing: var(--fs-lead-tracking);
	overflow-wrap: anywhere;
}

.p6-contact__direct dd:has(span) {
	display: flex;
	flex-wrap: wrap;
	row-gap: var(--ds-space-flow);
}

.p6-contact__direct dd > span {
	white-space: nowrap;
}

.p6.p2-band {
	background: var(--ds-raised);
	margin-top: var(--section);
	padding-block: var(--section);
}

.p6-next-grid {
	display: grid;
	row-gap: var(--ds-space-group);
}

.p6-next-grid > .p2-head {
	display: block;
	align-self: start;
	padding-top: var(--ds-space-group);
	border-top: 1px solid var(--weberloom-border-strong);
	margin: 0;
}

.p6-next-title {
	font-size: var(--fs-s);
	line-height: var(--fs-s-leading);
	letter-spacing: var(--fs-s-tracking);
	font-weight: 400;
}

.p6-next {
	display: grid;
	gap: var(--ds-space-group) var(--gap);
}

.p6-next li {
	display: grid;
	padding-top: var(--ds-space-group);
	border-top: 1px solid var(--wp--preset--color--border);
}

.p6-next b {
	color: var(--muted);
}

.p6-next h3 {
	margin-top: var(--ds-space-pair);
}

.p6-next p {
	margin-top: var(--ds-space-flow);
	color: var(--ink);
}

/* The addresses share the email's middle line while both sheets occupy the full grid. */
/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 768px) {
	.p6-contact__direct dl > div {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* readableBody permits six columns at lg and xl; the description hangs from the hairline. */
/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 992px) {
	.p6-next li {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto 1fr;
		column-gap: var(--gap);
	}

	.p6-next b {
		grid-column: 1;
		grid-row: 1;
	}

	.p6-next h3 {
		grid-column: 1;
		grid-row: 2;
	}

	.p6-next p {
		grid-column: 2;
		grid-row: 1/span 2;
		margin-top: 0;
	}
}
/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 1200px) {
	.p6-contact {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		grid-template-rows: auto 1fr;
	}

	.p6-contact__intro, .p6-contact__direct {
		grid-column: 1/6;
	}

	.p6-contact__intro {
		grid-row: 1;
		padding-top: calc(var(--ds-space-group) + 1px);
	}

	/* The long first word uses the gutter of the empty sixth column, but still wraps at 200% text. */
	.p6-contact__intro h1 {
		inline-size: calc(100% + var(--gap));
	}

	.p6-contact__form {
		grid-column: 7/-1;
		grid-row: 1/span 2;
		min-block-size: var(--kept, auto);
	}

	.p6-contact__direct {
		grid-row: 2;
		align-self: end;
	}

	.p6-contact__direct dl > div {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.p6-contact__direct dt {
		grid-column: 1/3;
	}

	.p6-contact__direct dd {
		grid-column: 3/-1;
	}

	/* The email column is too narrow for the note here; the shared form stays unchanged. */
	.p6 .weberloom-form__form:has([name='message']) > .weberloom-form__actions {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Four columns meet readableBody from xxl through wsl; subgrid aligns the title baselines. */
/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 1400px) {
	.p6-contact__intro h1 {
		inline-size: 100%;
	}

	.p6-next {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-template-rows: auto auto auto;
		row-gap: 0;
	}

	.p6-next li {
		grid-row: span 3;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: subgrid;
		row-gap: 0;
	}

	.p6-next b, .p6-next h3, .p6-next p {
		grid-column: auto;
		grid-row: auto;
	}

	.p6-next h3 {
		align-self: end;
	}

	.p6-next p {
		margin-top: var(--ds-space-flow);
	}
}

/* The heading needs the air column here; its lead retains the five-column measure. */
/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 1900px) {
	.p6-contact__intro {
		grid-column: 1/7;
	}

	.p6-contact__intro .lead {
		max-inline-size: calc(5 * var(--grid-cell, var(--ds-cell)) - var(--gap));
	}

	.p6 .weberloom-form__form:has([name='message']) > .weberloom-form__actions {
		grid-template-columns: subgrid;
	}
}

/* Keep the accepted widest composition, with three readable columns per step. */
/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 2540px) {
	.p6-contact__intro {
		grid-column: 1/6;
	}

	.p6-contact__intro .lead {
		max-inline-size: 52ch;
	}

	.p6-contact__direct dt {
		grid-column: 1;
	}

	.p6-contact__direct dd {
		grid-column: 2/-1;
	}

	.p6-next-grid {
		position: relative;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: var(--gap);
		padding-top: var(--ds-space-group);
	}

	.p6-next-grid::before {
		content: '';
		position: absolute;
		inset-block-start: 0;
		inset-inline: var(--ds-pad);
		border-top: 1px solid var(--weberloom-border-strong);
	}

	.p6-next-grid > .p2-head {
		grid-column: 1/4;
		padding-top: 0;
		border: 0;
	}

	.p6-next {
		grid-column: 4/-1;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-template-rows: auto auto auto;
		row-gap: 0;
	}

	.p6-next li {
		grid-row: span 3;
		grid-template-rows: subgrid;
		row-gap: 0;
		padding-top: 0;
		padding-inline-end: var(--ds-space-group);
		border: 0;
	}

	.p6-next h3 {
		align-self: end;
	}
}

.p6-opening .p6-contact {
	display: block;
}

.p6-opening .p6-contact__intro {
	display: grid;
	gap: var(--ds-space-group) var(--gap);
}

.p6-opening .p6-contact__intro > * {
	margin: 0;
}

.p6-opening .p6-contact__intro h1 {
	inline-size: auto;
}

.p6-opening .p6-contact__intro .lead {
	max-inline-size: 52ch;
}

.p6-section .p6-contact__form, .p6-section .p6-contact__direct {
	position: relative;
	grid-column: auto;
	grid-row: auto;
	min-block-size: auto;
}

.p6-section .p6-next-title {
	font-size: var(--fs-s);
	line-height: var(--fs-s-leading);
	letter-spacing: var(--fs-s-tracking);
}

.p6-ask {
	display: grid;
	gap: var(--ds-space-block) var(--gap);
}

.p6-ask .weberloom-form__status {
	max-inline-size: none;
	scroll-margin-block-start: var(--ds-space-group);
}

.p6-ask__text > h2 + p, .p6-section .p6-reach > h2 + p {
	margin-block-start: var(--ds-space-group);
}

.p6-ask__text > p + p {
	margin-block-start: var(--ds-space-flow);
}

.p6-ask__text > .p2-note {
	color: var(--muted);
	font-size: var(--fs-small);
	line-height: var(--fs-small-leading);
}

.p6-section .p6-ask > .weberloom-form-block__form {
	margin-block-start: 0;
}

.p6-ask:has(.weberloom-form__status.is-sent) .p6-ask__text > p {
	display: none;
}

.p6-section .p6-reach dd > span, .p6-section .p6-reach dd a {
	white-space: normal;
}

/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 1200px) {
	.p6-opening .p6-contact__intro {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		padding-top: 0;
	}

	.p6-opening .p6-contact__intro > h1 {
		grid-column: 1/-1;
	}

	.p6-opening .p6-contact__intro > p {
		grid-column: 7/-1;
	}

	.p6-ask__text {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: var(--gap);
	}

	.p6-ask__text > h2 {
		grid-column: 1/7;
		grid-row: 1;
	}

	.p6-ask__text > h2 + p {
		grid-column: 7/-1;
		grid-row: 1/span 2;
		margin-block-start: 0;
	}

	.p6-ask__text > p + p {
		grid-column: 1/7;
		grid-row: 2;
		align-self: end;
		margin-block-start: var(--ds-space-group);
	}

	.p6-ask .weberloom-form__form {
		grid-template-columns: repeat(12, minmax(0, 1fr));
	}

	.p6-ask p.weberloom-form__field:has(#weberloom-form-name) {
		grid-column: 1/4;
		grid-row: 1/span 4;
	}

	.p6-ask p.weberloom-form__field:has(#weberloom-form-email) {
		grid-column: 4/7;
		grid-row: 1/span 4;
	}

	.p6-ask p.weberloom-form__field:has(#weberloom-form-message) {
		grid-column: 7/-1;
		grid-row: 1/span 8;
		grid-template-rows: auto auto 1fr;
		align-self: stretch;
	}

	.p6-ask #weberloom-form-message {
		align-self: stretch;
	}

	.p6-ask p.weberloom-form__field:has(#weberloom-form-company) {
		grid-column: 1/4;
		grid-row: 5/span 4;
	}

	.p6-ask p.weberloom-form__field:has(#weberloom-form-source) {
		grid-column: 4/7;
		grid-row: 5/span 4;
	}

	.p6 .p6-ask .weberloom-form__form > .weberloom-form__actions {
		grid-column: 1/-1;
		grid-template-columns: subgrid;
		margin-block-start: 0;
	}

	.p6-ask .weberloom-form__actions > button {
		grid-column: 1/7;
	}

	.p6-ask .weberloom-form__privacy-line {
		grid-column: 7/-1;
		max-inline-size: none;
	}

	.p6-ask .weberloom-form__status {
		padding-block-start: 0;
		border-block-start: 0;
	}

	.p6-section .p6-reach {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		grid-template-rows: auto 1fr;
		column-gap: var(--gap);
		align-items: start;
	}

	.p6-section .p6-reach > h2, .p6-section .p6-reach > p {
		grid-column: 1/6;
	}

	.p6-section .p6-reach > dl {
		grid-column: 7/-1;
		grid-row: 1/span 2;
		margin-block-start: 0;
	}

	.p6-section .p6-reach dl > div {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.p6-section .p6-reach dt {
		grid-column: 1/3;
	}

	.p6-section .p6-reach dd {
		grid-column: 3/-1;
	}

	.p6-reach dl > div:first-child {
		border-block-start: 0;
		padding-block-start: 0;
	}
}
/* stylelint-disable-next-line scss/media-feature-value-dollar-variable -- compiled CSS uses the Screen hinges from _grid.scss. */
@media (min-width: 2540px) {
	.p6-opening .p6-contact__intro {
		align-items: last baseline;
	}

	.p6-opening .p6-contact__intro > h1 {
		grid-column: 1/7;
	}
}