/* Ported mechanically from training-puppies-hello-child 0.5.34 tp-home.css by BUILD/block-migration/chrome/port_css.py
   (colours -> theme.json tokens, translucent ones -> legacy alpha tokens; TOKEN-MAP-2026-11-11.md). Mode A parity CSS: change the tokens, not this file. */
/*
 Homepage template (.tp-home-*, .tp-situation*, .tp-task*, .tp-orientation*). Loaded only on the Elementor-built
 front page (see functions.php). Selectors are prefixed with "body.tp-shell .elementor" so they outweigh
 Elementor's per-element rules and the Kit's global rules. Tokens (--tp-*) come from body.tp-shell in style.css.

 Redesign 0.5.0 (Design Direction Constitution, design/design-direction-constitution-v1.md): warm editorial
 field guide. Order: hero (value proposition) > "Start with what you are seeing" situations > guide index
 (published rows, then guides in preparation) > orientation > how the guides work > scope. No images.
*/

body.tp-shell .elementor .e-con.tp-home-band,
body.tp-shell .elementor .e-con.tp-home-inner,
body.tp-shell .elementor .e-con.tp-home-panel,
body.tp-shell .elementor .e-con.tp-home-narrow,
body.tp-shell .elementor .e-con.tp-home-cta-row {
	--display: block;
	--gap: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	gap: 0;
}

body.tp-shell .elementor .e-con.tp-home-band {
	--tp-home-space: clamp(56px, 7vw, 112px);
}

body.tp-shell .elementor .tp-home-band .elementor-widget:not(:last-child) {
	margin-block-end: 0;
}

body.tp-shell .elementor .tp-home-band .elementor-widget-container {
	padding: 0;
}

body.tp-shell .elementor .e-con.tp-home-inner {
	max-width: 1216px;
	margin-inline: auto;
	padding-inline: var(--tp-gutter);
}

/* Surfaces: warm paper throughout; deeper paper marks the two "working" bands. */
body.tp-shell .elementor .tp-home-white,
body.tp-shell .elementor .tp-home-cream {
	background: var(--tp-cream);
}

body.tp-shell .elementor .e-con.tp-home-situations,
body.tp-shell .elementor .e-con.tp-home-method {
	background: var(--tp-paper-deep);
}

/* ------------------------------------------------------------------
   Shared text roles
------------------------------------------------------------------- */
body.tp-shell .elementor .tp-home-eyebrow p,
body.tp-shell .elementor .tp-home-hero .tp-home-sub p {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	color: var(--tp-rust);
	font: 600 14px/1.35 var(--tp-sans);
	letter-spacing: 0.01em;
	text-transform: none;
}

body.tp-shell .elementor .tp-home-h1 .elementor-heading-title {
	margin: 0;
	color: var(--tp-text);
	font-family: var(--tp-display);
	font-size: clamp(36px, 2.4vw + 22px, 60px);
	font-weight: 600;
	line-height: 1.04;
	letter-spacing: -0.022em;
	text-wrap: balance;
}

body.tp-shell .elementor .tp-home-h2 .elementor-heading-title,
body.tp-shell .elementor .tp-situations__title {
	margin: 12px 0 0;
	color: var(--tp-text);
	font-family: var(--tp-display);
	font-size: clamp(28px, 1.2vw + 20px, 38px);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

body.tp-shell .elementor .tp-home-text p,
body.tp-shell .elementor .tp-home-text li {
	color: var(--tp-text);
	font: 400 17px/1.65 var(--tp-sans);
}

body.tp-shell .elementor .tp-home-text p {
	margin: 0 0 16px;
}

body.tp-shell .elementor .tp-home-text p:last-child {
	margin-bottom: 0;
}

body.tp-shell .elementor .tp-home-text ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0 0 0 20px;
}

body.tp-shell .elementor .tp-home-text li {
	margin: 0;
	padding: 0;
}

/* ------------------------------------------------------------------
   1. Hero: value proposition, one primary action (production green)
------------------------------------------------------------------- */
body.tp-shell .elementor .e-con.tp-home-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--tp-rule);
}

body.tp-shell .elementor .e-con.tp-home-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	padding-block: var(--tp-home-space) calc(var(--tp-home-space) * 0.85);
}

/* Controlled asymmetry: the text holds roughly seven of twelve columns; the paw mark sits in the open space. */
body.tp-shell .elementor .tp-home-hero__inner > .elementor-widget, body.tp-shell .elementor .tp-home-hero__inner > :where(.tpb-contents) > .elementor-widget {
	max-width: 720px;
}

body.tp-shell .elementor .tp-home-hero__inner > .tp-home-lead, body.tp-shell .elementor .tp-home-hero__inner > :where(.tpb-contents) > .tp-home-lead {
	max-width: 600px;
}

body.tp-shell .elementor .tp-home-lead p {
	margin: 0;
	color: var(--tp-muted);
	font: 400 19px/1.6 var(--tp-sans);
}

body.tp-shell .elementor .e-con.tp-home-hero::after {
	content: "";
	position: absolute;
	right: max(var(--tp-gutter), calc((100% - 1216px) / 2 + var(--tp-gutter)));
	bottom: -56px;
	z-index: 0;
	width: 340px;
	height: 340px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='%231F6F5C'%3E%3Cellipse cx='22' cy='24' rx='6.5' ry='8.5'/%3E%3Cellipse cx='42' cy='24' rx='6.5' ry='8.5'/%3E%3Cellipse cx='13' cy='36' rx='6' ry='8'/%3E%3Cellipse cx='51' cy='36' rx='6' ry='8'/%3E%3Cpath d='M32 30c7.2 0 13 5.8 13 13s-5.8 13-13 13-13-5.8-13-13 5.8-13 13-13z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
	opacity: 0.06;
	pointer-events: none;
}

@media (max-width: 1023px) {
	body.tp-shell .elementor .e-con.tp-home-hero::after {
		display: none;
	}
}

body.tp-shell .elementor .e-con.tp-home-cta-row {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 12px 28px;
	margin-top: 8px;
}

body.tp-shell .elementor .tp-home-cta-row > .elementor-widget, body.tp-shell .elementor .tp-home-cta-row > :where(.tpb-contents) > .elementor-widget {
	width: auto;
	max-width: none;
}

body.tp-shell .elementor .tp-home-cta-row .elementor-button,
body.tp-shell .elementor .tp-home-cta-row .elementor-button:hover,
body.tp-shell .elementor .tp-home-cta-row .elementor-button:focus {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 26px;
	border: 0;
	border-radius: var(--tp-radius);
	box-shadow: none;
	color: var(--wp--custom--color--on-action);
	font: 600 16px/1.25 var(--tp-sans);
	text-decoration: none;
	transition: background-color 180ms ease-out;
}

body.tp-shell .elementor .tp-home-cta-row .elementor-button {
	background: var(--tp-primary);
}

body.tp-shell .elementor .tp-home-cta-row .elementor-button:hover,
body.tp-shell .elementor .tp-home-cta-row .elementor-button:focus {
	background: var(--tp-primary-dark);
}

body.tp-shell .elementor .tp-home-cta-row a.tp-home-link,
body.tp-shell .elementor .tp-home-cta-row a.tp-home-link:visited {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--tp-text);
	font: 500 16px/1.4 var(--tp-sans);
	text-decoration: underline;
	text-decoration-color: var(--tp-rule);
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

body.tp-shell .elementor .tp-home-cta-row a.tp-home-link:hover,
body.tp-shell .elementor .tp-home-cta-row a.tp-home-link:focus {
	color: var(--tp-primary-dark);
	text-decoration-color: currentColor;
}

@media (max-width: 639px) {
	body.tp-shell .elementor .e-con.tp-home-cta-row {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
		width: 100%;
	}

	body.tp-shell .elementor .tp-home-cta-row > .elementor-widget-button, body.tp-shell .elementor .tp-home-cta-row > :where(.tpb-contents) > .elementor-widget-button, body.tp-shell .elementor .tp-home-cta-row .elementor-button {
		width: 100%;
	}
}

/* ------------------------------------------------------------------
   2. Situations: "Start with what you are seeing" (owner-language entry)
------------------------------------------------------------------- */
body.tp-shell .elementor .e-con.tp-home-situations .tp-home-inner {
	padding-block: var(--tp-home-space);
}

body.tp-shell .elementor .tp-situations {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	column-gap: clamp(40px, 6vw, 96px);
	align-items: start;
}

body.tp-shell .elementor .tp-situations__head {
	position: sticky;
	top: calc(var(--tp-header-h) + var(--tp-admin, 0px) + 32px);
}

body.tp-shell .elementor .tp-situations__lead {
	margin: 16px 0 0;
	color: var(--tp-muted);
	font: 400 17px/1.6 var(--tp-sans);
}

body.tp-shell .elementor .tp-situations__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 2px solid var(--tp-text);
}

body.tp-shell .elementor .tp-situation {
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--tp-rule);
}

body.tp-shell .elementor .tp-situation__link,
body.tp-shell .elementor .tp-situation__link:visited,
body.tp-shell .elementor .tp-situation--soon {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: baseline;
	gap: 6px 32px;
	box-sizing: border-box;
	min-height: 64px;
	padding: 18px 4px;
	color: var(--tp-text);
	text-decoration: none;
	transition: padding-left 200ms ease-out, background-color 200ms ease-out;
}

body.tp-shell .elementor .tp-situation__text {
	font: 400 clamp(20px, 0.6vw + 16px, 25px)/1.3 var(--tp-display);
	letter-spacing: -0.008em;
}

body.tp-shell .elementor .tp-situation__subject {
	color: var(--tp-muted);
}

body.tp-shell .elementor .tp-situation__guide {
	color: var(--tp-primary);
	font: 600 15px/1.4 var(--tp-sans);
	white-space: nowrap;
}

body.tp-shell .elementor .tp-situation__link::before {
	content: "";
	position: absolute;
	top: -1px;
	bottom: -1px;
	left: 0;
	width: 3px;
	background: var(--tp-rust);
	transform: scaleY(0);
	transform-origin: top;
	transition: transform 200ms ease-out;
}

body.tp-shell .elementor .tp-situation__link:hover,
body.tp-shell .elementor .tp-situation__link:focus-visible {
	padding-left: 20px;
	background: var(--tp-raised);
	color: var(--tp-text);
	text-decoration: none;
}

body.tp-shell .elementor .tp-situation__link:hover::before,
body.tp-shell .elementor .tp-situation__link:focus-visible::before {
	transform: scaleY(1);
}

body.tp-shell .elementor .tp-situation__link:hover .tp-situation__guide,
body.tp-shell .elementor .tp-situation__link:focus-visible .tp-situation__guide {
	color: var(--tp-primary-dark);
	text-decoration: underline;
	text-underline-offset: 4px;
}

body.tp-shell .elementor .tp-situation__link:focus-visible {
	outline: 3px solid var(--tp-primary);
	outline-offset: 2px;
}

/* Not covered yet: quieter, unlinked, status in words (not colour alone). */
body.tp-shell .elementor .tp-situations__soon {
	margin-top: 40px;
}

body.tp-shell .elementor .tp-situations__soon-label,
body.tp-shell .elementor .tp-tasks-soon__label {
	margin: 0 0 12px;
	color: var(--tp-muted);
	font: 600 14px/1.4 var(--tp-sans);
}

body.tp-shell .elementor .tp-situations__list--soon {
	border-top: 1px solid var(--tp-rule);
}

body.tp-shell .elementor .tp-situation--soon {
	min-height: 0;
	padding: 12px 4px;
}

body.tp-shell .elementor .tp-situation--soon .tp-situation__text {
	color: var(--tp-muted);
	font-size: 18px;
}

body.tp-shell .elementor .tp-situation__status {
	color: var(--tp-muted);
	font: 400 14px/1.4 var(--tp-sans);
}

body.tp-shell .elementor .tp-situations__more {
	margin: 24px 0 0;
}

body.tp-shell .elementor a.tp-situations__all,
body.tp-shell .elementor a.tp-situations__all:visited {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--tp-primary);
	font: 500 16px/1.4 var(--tp-sans);
	text-decoration: underline;
	text-underline-offset: 4px;
}

body.tp-shell .elementor a.tp-situations__all:hover,
body.tp-shell .elementor a.tp-situations__all:focus {
	color: var(--tp-primary-dark);
}

@media (max-width: 1023px) {
	body.tp-shell .elementor .tp-situations {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 32px;
	}

	body.tp-shell .elementor .tp-situations__head {
		position: static;
	}
}

@media (max-width: 639px) {
	body.tp-shell .elementor .tp-situation__link,
	body.tp-shell .elementor .tp-situation--soon {
		grid-template-columns: minmax(0, 1fr);
		padding: 16px 0;
	}

	body.tp-shell .elementor .tp-situation__link:hover,
	body.tp-shell .elementor .tp-situation__link:focus-visible {
		padding-left: 12px;
	}

	body.tp-shell .elementor .tp-situation__guide {
		white-space: normal;
	}
}

/* ------------------------------------------------------------------
   3. Guide index: published guides as ruled rows; guides in preparation below
------------------------------------------------------------------- */
body.tp-shell .elementor .e-con.tp-home-gateway .tp-home-inner {
	padding-top: var(--tp-home-space);
	padding-bottom: 32px;
}

body.tp-shell .elementor .tp-home-gateway .tp-home-gateway__cards {
	margin-top: 32px;
}

body.tp-shell .elementor .tp-tasks {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 2px solid var(--tp-text);
}

body.tp-shell .elementor .tp-tasks .tp-task {
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--tp-rule);
}

body.tp-shell .elementor .tp-tasks .tp-task__card,
body.tp-shell .elementor .tp-tasks .tp-task__card:visited {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3fr);
	grid-template-areas: "title problem cta" "title desc cta";
	align-items: baseline;
	gap: 4px 40px;
	box-sizing: border-box;
	padding: 24px 4px;
	color: var(--tp-text);
	font-family: var(--tp-sans);
	text-decoration: none;
	transition: padding-left 200ms ease-out, background-color 200ms ease-out;
}

body.tp-shell .elementor .tp-tasks .tp-task__title {
	grid-area: title;
	margin: 0;
	color: var(--tp-text);
	font: 600 24px/1.2 var(--tp-display);
	letter-spacing: -0.01em;
}

body.tp-shell .elementor .tp-tasks .tp-task__problem {
	grid-area: problem;
	margin: 0;
	color: var(--tp-text);
	font: 500 16px/1.5 var(--tp-sans);
}

body.tp-shell .elementor .tp-tasks .tp-task__desc {
	grid-area: desc;
	margin: 0;
	color: var(--tp-muted);
	font: 400 16px/1.55 var(--tp-sans);
}

body.tp-shell .elementor .tp-tasks .tp-task__cta {
	grid-area: cta;
	display: inline-flex;
	align-items: center;
	align-self: center;
	justify-self: end;
	text-align: right;
	min-height: 44px;
	color: var(--tp-primary);
	font: 600 15px/1.35 var(--tp-sans);
	white-space: nowrap;
}

body.tp-shell .elementor .tp-tasks a.tp-task__card::before {
	content: "";
	position: absolute;
	top: -1px;
	bottom: -1px;
	left: 0;
	width: 3px;
	background: var(--tp-rust);
	transform: scaleY(0);
	transform-origin: top;
	transition: transform 200ms ease-out;
}

body.tp-shell .elementor .tp-tasks a.tp-task__card:hover,
body.tp-shell .elementor .tp-tasks a.tp-task__card:focus-visible {
	padding-left: 20px;
	background: var(--tp-raised);
	color: var(--tp-text);
	text-decoration: none;
}

body.tp-shell .elementor .tp-tasks a.tp-task__card:hover::before,
body.tp-shell .elementor .tp-tasks a.tp-task__card:focus-visible::before {
	transform: scaleY(1);
}

body.tp-shell .elementor .tp-tasks a.tp-task__card:hover .tp-task__cta,
body.tp-shell .elementor .tp-tasks a.tp-task__card:focus-visible .tp-task__cta {
	color: var(--tp-primary-dark);
	text-decoration: underline;
	text-underline-offset: 4px;
}

body.tp-shell .elementor .tp-tasks a.tp-task__card:focus-visible {
	outline: 3px solid var(--tp-primary);
	outline-offset: 2px;
}

/* Guides in preparation: separate group, smaller type, muted, status in words, never linked. */
body.tp-shell .elementor .tp-tasks-soon {
	margin-top: 48px;
}

body.tp-shell .elementor .tp-tasks--soon {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 32px;
	border-top: 1px solid var(--tp-rule);
}

body.tp-shell .elementor .tp-tasks .tp-task__card--soon {
	display: flex;
	flex-direction: column;
	gap: 4px;
	height: 100%;
	padding: 16px 0 20px;
}

body.tp-shell .elementor .tp-tasks .tp-task__card--soon .tp-task__title {
	color: var(--tp-muted);
	font-size: 19px;
}

body.tp-shell .elementor .tp-tasks .tp-task__card--soon .tp-task__problem {
	color: var(--tp-muted);
	font-weight: 400;
	font-size: 15px;
}

body.tp-shell .elementor .tp-tasks .tp-task__card--soon .tp-task__desc {
	display: none;
}

body.tp-shell .elementor .tp-tasks .tp-task__status {
	margin: 4px 0 0;
	color: var(--tp-muted);
	font: 600 13px/1.4 var(--tp-sans);
}

@media (max-width: 1023px) {
	body.tp-shell .elementor .tp-tasks .tp-task__card,
	body.tp-shell .elementor .tp-tasks .tp-task__card:visited {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "title" "problem" "desc" "cta";
		gap: 6px;
	}

	body.tp-shell .elementor .tp-tasks .tp-task__cta {
		align-self: start;
		justify-self: start;
		text-align: left;
		white-space: normal;
	}

	body.tp-shell .elementor .tp-tasks--soon {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ------------------------------------------------------------------
   4. Orientation: restrained continuation, ruled and open (no panel)
------------------------------------------------------------------- */
body.tp-shell .elementor .e-con.tp-home-orientation .tp-home-inner {
	padding-top: 32px;
	padding-bottom: var(--tp-home-space);
}

body.tp-shell .elementor .tp-orientation {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	column-gap: clamp(40px, 6vw, 96px);
	padding-top: 32px;
	border-top: 1px solid var(--tp-rule);
	color: var(--tp-muted);
	font: 400 17px/1.65 var(--tp-sans);
}

body.tp-shell .elementor .tp-orientation p {
	margin: 0;
	color: var(--tp-muted);
	font: inherit;
}

body.tp-shell .elementor .tp-orientation .tp-orientation__lead {
	grid-column: 1;
	grid-row: 1;
	color: var(--tp-text);
	font: 600 24px/1.25 var(--tp-display);
}

body.tp-shell .elementor .tp-orientation > p:nth-child(2), body.tp-shell .elementor .tp-orientation > :where(.tpb-contents) > p:nth-child(2) {
	grid-column: 1;
	grid-row: 2;
	margin-top: 8px;
}

body.tp-shell .elementor .tp-orientation .tp-orientation__list {
	grid-column: 2;
	grid-row: 1 / span 2;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.tp-shell .elementor .tp-orientation .tp-orientation__list li {
	position: relative;
	margin: 0;
	padding: 0 0 0 28px;
	color: var(--tp-muted);
}

body.tp-shell .elementor .tp-orientation .tp-orientation__list li::before {
	content: "";
	position: absolute;
	top: 1.3em;
	left: 0;
	width: 14px;
	height: 1px;
	background: var(--tp-rust);
}

body.tp-shell .elementor .tp-orientation > p:nth-child(4), body.tp-shell .elementor .tp-orientation > :where(.tpb-contents) > p:nth-child(4) {
	grid-column: 2;
	grid-row: 3;
	margin-top: 12px;
}

body.tp-shell .elementor .tp-orientation a.tp-orientation__link,
body.tp-shell .elementor .tp-orientation a.tp-orientation__link:visited {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--tp-primary);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--wp--custom--legacy--alpha--action-40);
	text-underline-offset: 4px;
}

body.tp-shell .elementor .tp-orientation a.tp-orientation__link:hover,
body.tp-shell .elementor .tp-orientation a.tp-orientation__link:focus-visible {
	color: var(--tp-primary-dark);
	text-decoration-color: currentColor;
}

@media (max-width: 1023px) {
	body.tp-shell .elementor .tp-orientation {
		grid-template-columns: minmax(0, 1fr);
	}

	body.tp-shell .elementor .tp-orientation .tp-orientation__lead, body.tp-shell .elementor .tp-orientation > p:nth-child(2), body.tp-shell .elementor .tp-orientation > :where(.tpb-contents) > p:nth-child(2), body.tp-shell .elementor .tp-orientation .tp-orientation__list, body.tp-shell .elementor .tp-orientation > p:nth-child(4), body.tp-shell .elementor .tp-orientation > :where(.tpb-contents) > p:nth-child(4) {
		grid-column: 1;
		grid-row: auto;
	}

	body.tp-shell .elementor .tp-orientation .tp-orientation__list {
		margin-top: 16px;
	}
}

/* ------------------------------------------------------------------
   5. How these guides work and 6. Scope
------------------------------------------------------------------- */
body.tp-shell .elementor .e-con.tp-home-method .tp-home-inner,
body.tp-shell .elementor .e-con.tp-home-boundary .tp-home-inner {
	padding-block: var(--tp-home-space);
}

body.tp-shell .elementor .e-con.tp-home-narrow {
	max-width: none;
}

body.tp-shell .elementor .tp-home-narrow > .elementor-widget + .elementor-widget, body.tp-shell .elementor .tp-home-narrow > :where(.tpb-contents) > .elementor-widget + .elementor-widget {
	margin-top: 24px;
}

body.tp-shell .elementor .tp-home-narrow > .tp-home-eyebrow + .tp-home-h2, body.tp-shell .elementor .tp-home-narrow > :where(.tpb-contents) > .tp-home-eyebrow + .tp-home-h2 {
	margin-top: 0;
}

/* Method: heading left, the four production statements as a numbered, ruled sequence right. */
body.tp-shell .elementor .tp-home-method .tp-home-text ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 40px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: tp-method;
}

body.tp-shell .elementor .tp-home-method .tp-home-text li {
	position: relative;
	padding: 20px 0 24px 44px;
	border-top: 1px solid var(--tp-rule);
	font: 400 20px/1.4 var(--tp-display);
	counter-increment: tp-method;
}

body.tp-shell .elementor .tp-home-method .tp-home-text li::before {
	content: counter(tp-method, decimal-leading-zero);
	position: absolute;
	top: 24px;
	left: 0;
	color: var(--tp-rust);
	font: 600 14px/1 var(--tp-sans);
	letter-spacing: 0.04em;
}

@media (min-width: 1200px) {
	body.tp-shell .elementor .e-con.tp-home-method .tp-home-narrow {
		display: grid;
		grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
		column-gap: 96px;
		align-items: start;
	}

	body.tp-shell .elementor .tp-home-method .tp-home-narrow > .elementor-widget, body.tp-shell .elementor .tp-home-method .tp-home-narrow > :where(.tpb-contents) > .elementor-widget {
		margin-top: 0;
	}

	body.tp-shell .elementor .tp-home-method .tp-home-narrow > .tp-home-eyebrow, body.tp-shell .elementor .tp-home-method .tp-home-narrow > :where(.tpb-contents) > .tp-home-eyebrow {
		grid-column: 1;
		grid-row: 1;
	}

	body.tp-shell .elementor .tp-home-method .tp-home-narrow > .tp-home-h2, body.tp-shell .elementor .tp-home-method .tp-home-narrow > :where(.tpb-contents) > .tp-home-h2 {
		grid-column: 1;
		grid-row: 2;
	}

	body.tp-shell .elementor .tp-home-method .tp-home-narrow > .tp-home-text, body.tp-shell .elementor .tp-home-method .tp-home-narrow > :where(.tpb-contents) > .tp-home-text, body.tp-shell .elementor .tp-home-method .tp-home-narrow > .tp-home-text > .elementor-widget-container, body.tp-shell .elementor .tp-home-method .tp-home-narrow > .tp-home-text > :where(.tpb-contents) > .elementor-widget-container, body.tp-shell .elementor .tp-home-method .tp-home-narrow > :where(.tpb-contents) > .tp-home-text > .elementor-widget-container, body.tp-shell .elementor .tp-home-method .tp-home-narrow > :where(.tpb-contents) > .tp-home-text > :where(.tpb-contents) > .elementor-widget-container {
		display: contents;
	}

	body.tp-shell .elementor .tp-home-method .tp-home-text p {
		grid-column: 1;
		grid-row: 3;
		margin: 16px 0 0;
		color: var(--tp-muted);
	}

	body.tp-shell .elementor .tp-home-method .tp-home-text ul {
		grid-column: 2;
		grid-row: 1 / span 3;
		margin: 0;
	}
}

@media (max-width: 639px) {
	body.tp-shell .elementor .tp-home-method .tp-home-text ul {
		grid-template-columns: minmax(0, 1fr);
	}

	body.tp-shell .elementor .tp-home-method .tp-home-text li {
		font-size: 18px;
	}
}

/* Scope: the statement as a typographic line, the veterinary list in a ruled column (no tinted panel). */
body.tp-shell .elementor .e-con.tp-home-panel {
	margin-top: 32px;
	padding: 0;
	background: transparent;
	border-radius: 0;
}

body.tp-shell .elementor .tp-home-panel .tp-home-text p:first-child {
	margin: 0 0 32px;
	color: var(--tp-text);
	font: 400 clamp(21px, 0.8vw + 16px, 27px)/1.4 var(--tp-display);
	letter-spacing: -0.005em;
}

body.tp-shell .elementor .tp-home-panel .tp-home-text p.tp-home-panel__lead {
	margin: 0 0 12px;
	color: var(--tp-text);
	font: 600 17px/1.4 var(--tp-sans);
}

body.tp-shell .elementor .tp-home-panel .tp-home-text ul {
	gap: 10px;
	padding: 4px 0 4px 24px;
	list-style: none;
	border-left: 3px solid var(--tp-text);
}

body.tp-shell .elementor .tp-home-panel .tp-home-text li {
	color: var(--tp-text);
}

@media (min-width: 1024px) {
	body.tp-shell .elementor .e-con.tp-home-panel {
		display: grid;
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		column-gap: 96px;
		align-items: start;
	}

	body.tp-shell .elementor .tp-home-panel > .tp-home-text, body.tp-shell .elementor .tp-home-panel > :where(.tpb-contents) > .tp-home-text, body.tp-shell .elementor .tp-home-panel > .tp-home-text > .elementor-widget-container, body.tp-shell .elementor .tp-home-panel > .tp-home-text > :where(.tpb-contents) > .elementor-widget-container, body.tp-shell .elementor .tp-home-panel > :where(.tpb-contents) > .tp-home-text > .elementor-widget-container, body.tp-shell .elementor .tp-home-panel > :where(.tpb-contents) > .tp-home-text > :where(.tpb-contents) > .elementor-widget-container {
		display: contents;
	}

	body.tp-shell .elementor .tp-home-panel .tp-home-text p:first-child {
		grid-column: 1;
		grid-row: 1 / span 2;
		margin: 0;
	}

	body.tp-shell .elementor .tp-home-panel .tp-home-text p.tp-home-panel__lead {
		grid-column: 2;
		grid-row: 1;
	}

	body.tp-shell .elementor .tp-home-panel .tp-home-text ul {
		grid-column: 2;
		grid-row: 2;
	}
}

/* Reduced motion: no transforms or transitions; state changes stay visible instantly */
@media (prefers-reduced-motion: reduce) {
	body.tp-shell .elementor .tp-tasks a.tp-task__card,
	body.tp-shell .elementor .tp-tasks a.tp-task__card::before,
	body.tp-shell .elementor .tp-situation__link,
	body.tp-shell .elementor .tp-situation__link::before,
	body.tp-shell .elementor .tp-home-cta-row .elementor-button {
		transition: none;
	}
}

/* Forced colours: rules and the hover bar stay visible as system colours. */
@media (forced-colors: active) {
	body.tp-shell .elementor .tp-situation__link::before,
	body.tp-shell .elementor .tp-tasks a.tp-task__card::before {
		background: Highlight;
	}
}
