/* Public pages and article system. */

body:not(.home) {
	background: var(--tf-paper);
	color: var(--tf-ink);
}

body:not(.home) .site-content,
body:not(.home) .site-content > .ast-container,
body:not(.home) .site-main,
body:not(.home) #primary {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.tf-public-page,
.tf-public-page * {
	box-sizing: border-box;
}

.tf-public-page {
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
	font-size: 17px;
	line-height: 1.65;
}

.tf-public-page h1,
.tf-public-page h2,
.tf-public-page h3,
.tf-public-page h4,
.tf-public-page h5,
.tf-public-page h6 {
	font-family: inherit;
	font-weight: 540;
	letter-spacing: -0.035em;
}

.tf-subhero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(390px, 48vw, 680px);
	overflow: hidden;
	background:
		radial-gradient(circle at 82% 12%, rgba(103, 186, 255, 0.2), transparent 32%),
		radial-gradient(circle at 18% 90%, rgba(252, 190, 87, 0.16), transparent 34%),
		var(--tf-ink);
	color: var(--tf-white);
	isolation: isolate;
}

.tf-subhero::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 7px;
	background: var(--tf-spectrum);
	content: "";
}

.tf-subhero__image,
.tf-subhero__shade {
	position: absolute;
	inset: 0;
	height: 100%;
}

.tf-subhero__image {
	z-index: -2;
	display: block;
	width: 100%;
	object-fit: cover;
}

.tf-subhero__shade {
	z-index: -1;
	background: linear-gradient(180deg, rgba(8, 8, 8, 0.12), rgba(8, 8, 8, 0.84));
}

.tf-subhero__content {
	position: relative;
	z-index: 1;
	padding-block: 120px 86px;
}

.tf-subhero .tf-eyebrow {
	margin-bottom: 24px;
	color: var(--tf-amber);
}

.tf-subhero h1 {
	max-width: 1120px;
	margin: 0;
	color: var(--tf-white);
	font-size: clamp(54px, 7.5vw, 112px);
	line-height: 0.98;
	text-wrap: balance;
}

.tf-subhero--article {
	min-height: clamp(520px, 64vw, 850px);
}

.tf-subhero--article h1 {
	font-size: clamp(48px, 6.4vw, 94px);
}

.tf-public-page__body {
	padding-block: 34px clamp(44px, 5vw, 72px);
}

.tf-subhero--policy {
	min-height: clamp(340px, 38vw, 520px);
}

.tf-subhero--policy h1 {
	max-width: 980px;
	font-size: clamp(46px, 6vw, 88px);
}

.tf-policy-content {
	width: min(100%, 900px);
	margin-inline: auto;
}

.tf-policy-content .tf-rich-content {
	width: 100%;
}

.tf-policy-content table {
	display: block;
	overflow-x: auto;
	max-width: 100%;
}

.tf-builder-meta {
	padding-block: 34px 10px;
}

.tf-builder-content {
	min-width: 0;
	overflow: clip;
}

.tf-builder-content > .elementor {
	width: 100%;
}

.tf-builder-context .tf-context-nav {
	position: static;
	display: grid;
	grid-template-columns: minmax(140px, 210px) minmax(0, 1fr);
	align-items: start;
	gap: 24px;
	margin: -28px 0 44px;
}

.tf-builder-context .tf-context-nav > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tf-builder-context .tf-context-nav li {
	border: 0;
}

.tf-builder-context .tf-context-nav a {
	gap: 10px;
	padding: 9px 14px;
	border: 1px solid var(--tf-line-light);
	border-radius: 999px;
	background: var(--tf-white);
}

.tf-builder-context .tf-context-nav a:hover,
.tf-builder-context .tf-context-nav a:focus-visible,
.tf-builder-context .tf-context-nav a[aria-current="page"] {
	border-color: var(--tf-blue);
}

.tf-breadcrumbs {
	display: flex;
	overflow: hidden;
	align-items: center;
	gap: 10px;
	margin-bottom: 64px;
	color: #6b6b6b;
	font-size: 12px;
	white-space: nowrap;
}

.tf-breadcrumbs a {
	color: var(--tf-ink);
	font-weight: 650;
}

.tf-breadcrumbs span[aria-current="page"] {
	overflow: hidden;
	text-overflow: ellipsis;
}

.tf-reading-grid {
	display: grid;
	grid-template-columns: minmax(180px, 240px) minmax(0, 860px);
	justify-content: space-between;
	gap: clamp(50px, 8vw, 130px);
}

.tf-reading-grid__aside {
	min-width: 0;
}

.tf-context-nav {
	position: sticky;
	top: 110px;
	border-top: 3px solid var(--tf-blue);
	padding-top: 18px;
}

.tf-context-nav > p {
	margin-bottom: 14px;
	font-size: 11px;
	font-weight: 750;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.tf-context-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tf-context-nav li {
	margin: 0;
	border-bottom: 1px solid var(--tf-line-light);
}

.tf-context-nav a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding-block: 12px;
	color: #646464;
	font-size: 13px;
	font-weight: 620;
}

.tf-context-nav__children {
	margin: 0;
	padding: 0 0 10px 14px;
	list-style: none;
}

.tf-context-nav__children a {
	padding-block: 8px;
	font-size: 12px;
}

.tf-context-nav a:hover,
.tf-context-nav a:focus-visible,
.tf-context-nav a[aria-current="page"] {
	color: var(--tf-ink);
}

.tf-context-nav a[aria-current="page"] span {
	color: #1770ad;
}

.tf-back-link {
	position: sticky;
	top: 110px;
	display: inline-flex;
	padding-bottom: 8px;
	border-bottom: 1px solid currentColor;
	color: var(--tf-ink);
	font-size: 13px;
	font-weight: 700;
}

.tf-rich-content {
	min-width: 0;
	color: #252525;
}

.tf-rich-content > :first-child,
.tf-rich-content .elementor > :first-child {
	margin-top: 0;
}

.tf-rich-content h1,
.tf-rich-content h2,
.tf-rich-content h3,
.tf-rich-content h4,
.tf-rich-content h5,
.tf-rich-content h6 {
	max-width: 780px;
	margin: 2.2em 0 0.7em;
	color: var(--tf-ink) !important;
	line-height: 1.08;
}

.tf-rich-content h2 {
	font-size: clamp(36px, 4.8vw, 64px);
}

.tf-rich-content h3 {
	font-size: clamp(28px, 3.4vw, 44px);
}

.tf-rich-content h4,
.tf-rich-content h5,
.tf-rich-content h6 {
	font-size: clamp(21px, 2.4vw, 30px);
}

.tf-rich-content p,
.tf-rich-content li {
	color: #343434 !important;
	font-size: clamp(17px, 1.45vw, 20px);
	line-height: 1.72;
}

.tf-rich-content p {
	margin-bottom: 1.5em;
}

.tf-rich-content a {
	color: #086da8;
	text-decoration-color: rgba(8, 109, 168, 0.35);
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.tf-rich-content strong {
	color: var(--tf-ink);
	font-weight: 720;
}

.tf-rich-content ul,
.tf-rich-content ol {
	margin: 1.5em 0 2em;
	padding-left: 1.35em;
}

.tf-rich-content li {
	margin-bottom: 0.55em;
	padding-left: 0.35em;
}

.tf-rich-content li::marker {
	color: #1770ad;
}

.tf-rich-content blockquote {
	position: relative;
	margin: clamp(42px, 6vw, 76px) 0;
	padding: clamp(30px, 5vw, 58px);
	border: 0;
	border-radius: 24px;
	background: var(--tf-charcoal);
	color: var(--tf-white);
}

.tf-rich-content blockquote::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 5px;
	border-radius: 24px 24px 0 0;
	background: var(--tf-spectrum);
	content: "";
}

.tf-rich-content blockquote p,
.tf-rich-content blockquote li,
.tf-rich-content blockquote strong {
	color: rgba(255, 255, 255, 0.86) !important;
}

.tf-rich-content img {
	max-width: 100%;
	height: auto;
	border-radius: 20px;
}

.tf-rich-content figure,
.tf-rich-content .wp-caption {
	max-width: 100%;
	margin: clamp(38px, 6vw, 72px) 0;
}

.tf-rich-content figcaption,
.tf-rich-content .wp-caption-text {
	margin-top: 12px;
	color: #777 !important;
	font-size: 13px;
}

/* Article hierarchy: keep major sections clear without letting legacy H2/H3
   sizes dominate the reading column. Elementor's portfolio and standalone
   heading widgets are intentionally excluded. */
.tf-public-article .tf-rich-content h2:not(.elementor-heading-title):not(.elementor-portfolio-item__title) {
	max-width: 100%;
	margin: clamp(44px, 6vw, 68px) 0 22px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(17, 17, 17, 0.16);
	font-size: clamp(30px, 3.6vw, 44px);
	line-height: 1.08;
}

.tf-public-article .tf-rich-content h3:not(.elementor-heading-title):not(.elementor-portfolio-item__title) {
	max-width: 100%;
	margin: clamp(34px, 4.5vw, 52px) 0 17px;
	padding-top: 17px;
	border-top: 1px solid rgba(17, 17, 17, 0.14);
	font-size: clamp(19px, 2vw, 24px);
	font-weight: 760;
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tf-public-article .tf-rich-content h4:not(.elementor-heading-title),
.tf-public-article .tf-rich-content h5:not(.elementor-heading-title),
.tf-public-article .tf-rich-content h6:not(.elementor-heading-title) {
	max-width: 100%;
	margin: clamp(30px, 4vw, 46px) 0 15px;
	padding-top: 15px;
	border-top: 1px solid rgba(17, 17, 17, 0.14);
	font-size: clamp(18px, 1.8vw, 21px);
	font-weight: 760;
	line-height: 1.25;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.tf-public-article .tf-rich-content .elementor-widget-heading .elementor-heading-title {
	max-width: 100%;
	font-size: clamp(25px, 3vw, 34px) !important;
	line-height: 1.14 !important;
}

.tf-public-article .tf-rich-content .elementor-portfolio-item__title {
	margin: 0;
	font-size: clamp(16px, 1.5vw, 20px) !important;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
}

.tf-public-article .tf-rich-content p {
	margin-bottom: 1.15em;
}

.tf-public-article .tf-rich-content figure,
.tf-public-article .tf-rich-content .wp-caption {
	margin-block: clamp(24px, 4vw, 42px);
}

.tf-rich-content table {
	width: 100%;
	margin-block: 40px;
	border-collapse: collapse;
	font-size: 15px;
}

.tf-rich-content th,
.tf-rich-content td {
	padding: 14px 12px;
	border-bottom: 1px solid var(--tf-line-light);
	text-align: left;
}

.tf-rich-content iframe,
.tf-rich-content video {
	max-width: 100%;
	border-radius: 20px;
}

.tf-rich-content .elementor,
.tf-rich-content .elementor-section,
.tf-rich-content .elementor-container,
.tf-rich-content .elementor-column,
.tf-rich-content .elementor-widget-wrap {
	max-width: 100%;
}

.tf-rich-content .elementor-section,
.tf-rich-content .elementor-widget-wrap {
	padding-inline: 0 !important;
}

.tf-rich-content .wpforms-container {
	margin: 0;
	padding: clamp(26px, 5vw, 54px);
	border: 1px solid var(--tf-line-light);
	border-radius: 24px;
	background: var(--tf-white);
	box-shadow: 0 24px 70px rgba(17, 17, 17, 0.08);
}

.tf-rich-content .wpforms-field-label {
	margin-bottom: 8px;
	color: var(--tf-ink) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

.tf-rich-content .wpforms-field {
	margin-bottom: 18px;
}

.tf-rich-content .wpforms-field input,
.tf-rich-content .wpforms-field textarea,
.tf-rich-content .wpforms-field select {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-height: 52px;
	padding: 13px 15px !important;
	border: 1px solid #c8c8c8 !important;
	border-radius: 12px !important;
	background: #fafafa !important;
	color: var(--tf-ink) !important;
	font-size: 16px !important;
}

.tf-rich-content .wpforms-field textarea {
	min-height: 150px;
}

.tf-rich-content .wpforms-field input:focus,
.tf-rich-content .wpforms-field textarea:focus,
.tf-rich-content .wpforms-field select:focus {
	border-color: #1770ad !important;
	box-shadow: 0 0 0 3px rgba(103, 186, 255, 0.3) !important;
}

.tf-rich-content .wpforms-submit {
	min-height: 54px !important;
	padding: 14px 24px !important;
	border: 1px solid var(--tf-ink) !important;
	border-radius: 999px !important;
	background: var(--tf-amber) !important;
	color: var(--tf-ink) !important;
	font-size: 14px !important;
	font-weight: 750 !important;
}

.tf-rich-content .wpforms-submit:hover,
.tf-rich-content .wpforms-submit:focus-visible {
	background: var(--tf-blue) !important;
}

.tf-subpage-cta {
	padding-block: clamp(90px, 10vw, 150px);
	background: var(--tf-amber);
	color: var(--tf-ink);
}

.tf-subpage-cta__inner {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 60px;
}

.tf-subpage-cta h2 {
	max-width: 920px;
	margin: 0;
	font-size: clamp(44px, 5.8vw, 86px);
	line-height: 1;
	text-wrap: balance;
}

.tf-button--dark {
	flex: 0 0 auto;
	border-color: var(--tf-ink);
	background: var(--tf-ink);
	color: var(--tf-white);
}

.tf-button--dark:hover,
.tf-button--dark:focus-visible {
	border-color: var(--tf-blue);
	background: var(--tf-blue);
	color: var(--tf-ink);
}

.tf-blog-index__content {
	padding-block: clamp(80px, 10vw, 150px);
	background: var(--tf-paper);
}

.tf-blog-index__heading {
	max-width: 720px;
	margin-bottom: 52px;
}

.tf-blog-index__heading p {
	font-size: clamp(20px, 2.4vw, 30px);
}

.tf-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.tf-blog-card {
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--tf-line-light);
	border-radius: 22px;
	background: var(--tf-white);
}

.tf-blog-card > a {
	display: flex;
	height: 100%;
	flex-direction: column;
	color: var(--tf-ink);
}

.tf-blog-card__image {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.tf-blog-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms ease;
}

.tf-blog-card:hover .tf-blog-card__image img {
	transform: scale(1.035);
}

.tf-blog-card__body {
	position: relative;
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 28px;
}

.tf-blog-card__body > span {
	color: #747474;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.tf-blog-card h2 {
	margin: 38px 36px 18px 0;
	font-size: clamp(27px, 2.6vw, 38px);
	line-height: 1.05;
}

.tf-blog-card p {
	margin-bottom: 0;
	color: #626262;
	font-size: 15px;
}

.tf-blog-card i {
	position: absolute;
	right: 24px;
	top: 24px;
	font-size: 20px;
	font-style: normal;
}

.tf-pagination {
	display: flex;
	gap: 8px;
	margin-top: 54px;
}

.tf-pagination .page-numbers {
	display: grid;
	min-width: 42px;
	height: 42px;
	padding-inline: 10px;
	border: 1px solid var(--tf-line-light);
	border-radius: 999px;
	color: var(--tf-ink);
	place-items: center;
}

.tf-pagination .current {
	border-color: var(--tf-amber);
	background: var(--tf-amber);
}

/* Training-method knowledge hub. The legacy Elementor copy remains the
 * content source; this layer supplies hierarchy, readable measure and cards. */
.tf-public-page--knowledge .tf-subhero {
	min-height: clamp(360px, 42vw, 570px);
}

.tf-public-page--knowledge .tf-subhero__shade {
	background:
		linear-gradient(105deg, rgba(8, 13, 19, 0.84) 0%, rgba(8, 13, 19, 0.48) 52%, rgba(8, 13, 19, 0.74) 100%),
		linear-gradient(180deg, rgba(8, 8, 8, 0.08), rgba(8, 8, 8, 0.68));
}

.tf-public-page--knowledge .tf-subhero h1 {
	font-size: clamp(52px, 7vw, 98px);
}

.tf-public-page--knowledge .tf-builder-meta {
	padding-block: 34px 0;
}

.tf-public-page--knowledge .tf-breadcrumbs {
	margin-bottom: 48px;
}

.tf-public-page--knowledge .tf-builder-context .tf-context-nav {
	display: grid;
	grid-template-columns: minmax(150px, 200px) minmax(0, 1fr);
	gap: 24px;
	margin: -16px 0 58px;
	padding-top: 20px;
}

.tf-public-page--knowledge .tf-builder-context .tf-context-nav > p {
	padding-top: 18px;
}

.tf-public-page--knowledge .tf-builder-context .tf-context-nav > .tf-context-nav__groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.tf-public-page--knowledge .tf-context-nav__group {
	overflow: hidden;
	border: 1px solid var(--tf-line-light) !important;
	border-radius: 20px;
	background: var(--tf-white);
	box-shadow: 0 14px 42px rgba(17, 17, 17, 0.06);
}

.tf-public-page--knowledge .tf-context-nav__group.is-active {
	border-color: rgba(23, 112, 173, 0.62) !important;
	box-shadow: 0 18px 50px rgba(23, 112, 173, 0.12);
}

.tf-public-page--knowledge .tf-builder-context .tf-context-nav .tf-context-nav__primary {
	padding: 20px 20px 14px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--tf-ink);
	font-size: 19px;
	font-weight: 720;
}

.tf-public-page--knowledge .tf-context-nav__primary span {
	color: #1770ad;
}

.tf-public-page--knowledge .tf-builder-context .tf-context-nav .tf-context-nav__children {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	padding: 0 18px 20px;
}

.tf-public-page--knowledge .tf-context-nav__children li {
	border: 0;
}

.tf-public-page--knowledge .tf-builder-context .tf-context-nav .tf-context-nav__children a {
	padding: 7px 11px;
	border: 1px solid #dfdfdf;
	border-radius: 999px;
	background: #f7f7f5;
	color: #555;
	font-size: 12px;
	font-weight: 650;
}

.tf-public-page--knowledge .tf-builder-context .tf-context-nav .tf-context-nav__children a:hover,
.tf-public-page--knowledge .tf-builder-context .tf-context-nav .tf-context-nav__children a:focus-visible,
.tf-public-page--knowledge .tf-builder-context .tf-context-nav .tf-context-nav__children a[aria-current="page"] {
	border-color: #1770ad;
	background: #eef7fd;
	color: var(--tf-ink);
}

.tf-public-page--knowledge .tf-builder-content {
	padding: clamp(10px, 2vw, 26px) 20px clamp(32px, 4vw, 56px);
	background:
		radial-gradient(circle at 8% 15%, rgba(103, 186, 255, 0.1), transparent 28%),
		linear-gradient(180deg, #f4f2ed 0%, var(--tf-paper) 100%);
}

.tf-public-page--knowledge .tf-builder-content > .elementor > .elementor-top-section.elementor-section-boxed > .elementor-container {
	width: 100%;
	max-width: 1120px;
}

.tf-public-page--knowledge .tf-builder-content > .elementor > .elementor-top-section.elementor-section-boxed > .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated {
	width: min(100%, 960px) !important;
	margin: 0 auto clamp(56px, 7vw, 92px) !important;
	padding: clamp(34px, 5.5vw, 70px) !important;
	border: 1px solid rgba(17, 17, 17, 0.1);
	border-top: 5px solid #1770ad;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 24px 70px rgba(17, 17, 17, 0.09) !important;
}

.tf-public-page--knowledge .tf-builder-content > .elementor > .elementor-top-section.elementor-section-boxed:last-child > .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated {
	margin-bottom: 0 !important;
}

.tf-public-page--knowledge .elementor-widget-text-editor .elementor-widget-container {
	color: #303030;
	font-size: clamp(17px, 1.2vw, 19px);
	line-height: 1.76;
}

.tf-public-page--knowledge .elementor-widget-text-editor .elementor-widget-container > :first-child {
	margin-top: 0;
}

.tf-public-page--knowledge .elementor-widget-text-editor .elementor-widget-container > p:first-child {
	margin-bottom: 1.75em;
	color: #181818;
	font-size: clamp(20px, 1.65vw, 24px);
	line-height: 1.58;
}

.tf-public-page--knowledge .elementor-widget-text-editor p {
	margin: 0 0 1.45em;
	color: #303030 !important;
	font-size: inherit;
	line-height: inherit;
}

.tf-public-page--knowledge .elementor-widget-text-editor h2,
.tf-public-page--knowledge .elementor-widget-text-editor h3,
.tf-public-page--knowledge .elementor-widget-text-editor h4,
.tf-public-page--knowledge .elementor-widget-text-editor h5 {
	margin: 2.1em 0 0.65em;
	color: var(--tf-ink) !important;
	font-weight: 690;
	letter-spacing: -0.025em;
	line-height: 1.12;
}

.tf-public-page--knowledge .elementor-widget-text-editor h2 {
	font-size: clamp(34px, 4vw, 54px);
}

.tf-public-page--knowledge .elementor-widget-text-editor h3,
.tf-public-page--knowledge .elementor-widget-text-editor h4,
.tf-public-page--knowledge .elementor-widget-text-editor h5 {
	font-size: clamp(25px, 2.6vw, 34px);
}

.tf-public-page--knowledge .elementor-widget-text-editor ul,
.tf-public-page--knowledge .elementor-widget-text-editor ol {
	margin: 28px 0 34px;
	padding: 24px 28px 24px 50px;
	border-left: 4px solid #1770ad;
	border-radius: 0 16px 16px 0;
	background: #f2f7fa;
}

.tf-public-page--knowledge .elementor-widget-text-editor li {
	margin-bottom: 8px;
	padding-left: 5px;
	color: #252525 !important;
}

.tf-public-page--knowledge .elementor-widget-text-editor li:last-child {
	margin-bottom: 0;
}

.tf-public-page--knowledge .elementor-widget-text-editor li::marker {
	color: #1770ad;
}

.tf-public-page--knowledge .elementor-widget-text-editor blockquote {
	position: relative;
	margin: 42px 0;
	padding: 30px 34px;
	border: 0;
	border-radius: 18px;
	background: var(--tf-charcoal);
	color: var(--tf-white);
}

.tf-public-page--knowledge .elementor-widget-text-editor blockquote::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 4px;
	border-radius: 18px 18px 0 0;
	background: var(--tf-spectrum);
	content: "";
}

.tf-public-page--knowledge .elementor-widget-text-editor blockquote p,
.tf-public-page--knowledge .elementor-widget-text-editor blockquote a,
.tf-public-page--knowledge .elementor-widget-text-editor blockquote strong {
	color: rgba(255, 255, 255, 0.9) !important;
}

.tf-public-page--knowledge .elementor-widget-text-editor a {
	color: #086da8;
	text-decoration-color: rgba(8, 109, 168, 0.34);
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.tf-public-page--knowledge .elementor-widget-text-editor img {
	max-width: 100%;
	height: auto;
	border-radius: 18px;
}

.tf-public-page--knowledge .elementor-widget-text-editor table {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 38px 0;
	overflow-x: auto;
	border: 1px solid var(--tf-line-light);
	border-radius: 14px;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--tf-white);
}

.tf-public-page--knowledge .elementor-widget-text-editor th,
.tf-public-page--knowledge .elementor-widget-text-editor td {
	min-width: 150px;
	padding: 14px 16px;
	border: 0;
	border-bottom: 1px solid var(--tf-line-light);
	text-align: left;
	vertical-align: top;
}

.tf-public-page--knowledge .elementor-widget-text-editor tr:last-child th,
.tf-public-page--knowledge .elementor-widget-text-editor tr:last-child td {
	border-bottom: 0;
}

.tf-public-page--knowledge .elementor-widget-text-editor iframe,
.tf-public-page--knowledge .elementor-widget-video iframe {
	max-width: 100%;
	border-radius: 18px;
}

.tf-public-page--knowledge .elementor-drop-cap {
	color: #1770ad;
}

.tf-public-page--knowledge .tf-subpage-cta {
	background:
		radial-gradient(circle at 82% 18%, rgba(103, 186, 255, 0.2), transparent 30%),
		linear-gradient(120deg, #15191e 0%, #0d1116 72%, #17120c 100%);
	color: var(--tf-white);
}

.tf-public-page--knowledge .tf-subpage-cta h2 {
	color: var(--tf-white);
}

.tf-public-page--knowledge .tf-subpage-cta .tf-eyebrow {
	color: var(--tf-amber);
}

.tf-public-page--knowledge .tf-subpage-cta .tf-button--dark {
	border-color: var(--tf-amber);
	background: var(--tf-amber);
	color: var(--tf-ink);
}

/* Coach as an athlete: compact result cards with optional long-form stories. */
.tf-public-page--treener .tf-coach-experience {
	position: relative;
	display: block;
	width: 100%;
	padding: clamp(72px, 8vw, 120px) 0;
	overflow: hidden;
	background:
		radial-gradient(circle at 88% 12%, rgba(103, 186, 255, 0.18), transparent 30%),
		radial-gradient(circle at 8% 90%, rgba(252, 190, 87, 0.14), transparent 34%),
		#12161b;
	color: #fff;
}

.tf-coach-experience__heading {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(300px, 1.15fr);
	align-items: end;
	gap: clamp(32px, 6vw, 90px);
	margin-bottom: clamp(38px, 5vw, 70px);
}

.tf-coach-experience__heading .tf-eyebrow {
	margin-bottom: 18px;
	color: var(--tf-amber);
}

.tf-coach-experience__heading h2 {
	max-width: 680px;
	margin: 0;
	color: #fff;
	font-size: clamp(42px, 5vw, 76px);
	line-height: 0.98;
	text-wrap: balance;
}

.tf-coach-experience__heading > p {
	max-width: 700px;
	margin: 0;
	color: rgba(255, 255, 255, 0.76);
	font-size: clamp(17px, 1.35vw, 20px);
	line-height: 1.7;
}

.tf-coach-experience__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: clamp(20px, 3vw, 38px);
}

.tf-race-card {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 26px;
	background: rgba(255, 255, 255, 0.06);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

.tf-race-card__media {
	position: relative;
	min-height: 360px;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #20262d;
}

.tf-race-card__image {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.tf-race-card--full .tf-race-card__image {
	object-position: center 46%;
}

.tf-race-card--half .tf-race-card__image {
	object-position: center 38%;
}

.tf-race-card__shade {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(4, 7, 10, 0.08) 20%, rgba(4, 7, 10, 0.9) 100%),
		linear-gradient(90deg, rgba(4, 7, 10, 0.34), transparent 70%);
}

.tf-race-card__result {
	position: absolute;
	right: clamp(22px, 3vw, 36px);
	bottom: clamp(22px, 3vw, 36px);
	left: clamp(22px, 3vw, 36px);
	z-index: 1;
	display: grid;
	gap: 7px;
	color: #fff;
}

.tf-race-card__result span,
.tf-race-card__result small {
	font-size: 12px;
	font-weight: 720;
	letter-spacing: 0.1em;
	line-height: 1.35;
	text-transform: uppercase;
}

.tf-race-card__result small {
	color: rgba(255, 255, 255, 0.74);
	letter-spacing: 0.04em;
}

.tf-race-card__result strong {
	color: #fff;
	font-size: clamp(42px, 4.8vw, 72px);
	font-weight: 650;
	letter-spacing: -0.055em;
	line-height: 0.95;
}

.tf-race-card__body {
	padding: clamp(24px, 3.2vw, 38px);
}

.tf-race-card__body h3 {
	margin: 0 0 14px;
	color: #fff;
	font-size: clamp(25px, 2.4vw, 34px);
	line-height: 1.08;
}

.tf-race-card__body > p {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 16px;
	line-height: 1.65;
}

.tf-race-story {
	margin-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.tf-race-story summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 0 0;
	color: #fff;
	font-size: 14px;
	font-weight: 750;
	letter-spacing: 0.02em;
	cursor: pointer;
	list-style: none;
}

.tf-race-story summary::-webkit-details-marker {
	display: none;
}

.tf-race-story summary i {
	position: relative;
	display: block;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(255, 255, 255, 0.34);
	border-radius: 50%;
	font-style: normal;
	font-size: 0;
	font-weight: 400;
	transition: transform 180ms ease, background-color 180ms ease;
}

.tf-race-story summary i::before,
.tf-race-story summary i::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	content: "";
	transform: translate(-50%, -50%);
	transform-origin: center;
	transition: transform 180ms ease;
}

.tf-race-story summary i::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.tf-race-story[open] summary i {
	background: var(--tf-amber) !important;
	color: var(--tf-ink) !important;
	transform: none !important;
}

.tf-race-story[open] summary i::before {
	transform: translate(-50%, -50%) rotate(45deg) !important;
}

.tf-race-story[open] summary i::after {
	transform: translate(-50%, -50%) rotate(-45deg) !important;
}

.tf-race-story__content {
	padding-top: 24px;
}

.tf-race-story__content p {
	margin: 0 0 18px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 16px;
	line-height: 1.74;
}

.tf-race-story__content p:last-child {
	margin-bottom: 0;
}

.tf-public-page--triathlon .tf-builder-context .tf-context-nav > .tf-context-nav__groups {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tf-public-page--kontakt .tf-builder-content,
.tf-public-page--privaatsustingimused .tf-builder-content {
	padding: clamp(28px, 4vw, 64px) 20px clamp(40px, 5vw, 72px);
	background:
		radial-gradient(circle at 12% 8%, rgba(92, 187, 255, 0.12), transparent 28%),
		linear-gradient(180deg, #f7f5f1 0%, #efede8 100%);
}

/* The shared site header and subhero replace the contact page's legacy
   Elementor header/spacer sections on every breakpoint. */
.tf-public-page--kontakt .elementor-element-32c9525a,
.tf-public-page--kontakt .elementor-element-3059600,
.tf-public-page--kontakt .elementor-element-2cb4bd5 {
	display: none !important;
}

.tf-public-page--kontakt .tf-subhero__image {
	object-position: center;
}

.tf-public-page--kontakt .tf-subhero__shade {
	background:
		linear-gradient(90deg, rgba(8, 8, 8, 0.9) 0%, rgba(8, 8, 8, 0.68) 54%, rgba(8, 8, 8, 0.76) 100%),
		linear-gradient(180deg, rgba(8, 8, 8, 0.16) 0%, rgba(8, 8, 8, 0.78) 100%);
}

.tf-public-page--kontakt .tf-builder-content > .elementor > .elementor-top-section,
.tf-public-page--privaatsustingimused .tf-builder-content > .elementor > .elementor-top-section {
	margin-block: 0 24px !important;
}

.tf-public-page--kontakt .elementor-element-81224ab > .elementor-container {
	max-width: 1120px;
	gap: 20px;
}

.tf-public-page--kontakt .elementor-element-81224ab > .elementor-container > .elementor-column {
	padding: 0 10px;
}

.tf-public-page--kontakt .elementor-element-81224ab > .elementor-container > .elementor-column > .elementor-widget-wrap {
	height: 100%;
	padding: clamp(28px, 4vw, 48px) !important;
	border: 1px solid rgba(16, 24, 32, 0.1);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 22px 60px rgba(16, 24, 32, 0.1) !important;
}

.tf-public-page--kontakt .elementor-element-81224ab > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap {
	border-top: 4px solid var(--tf-blue);
}

.tf-public-page--kontakt .wpforms-container input:not([type="checkbox"]):not([type="radio"]),
.tf-public-page--kontakt .wpforms-container select,
.tf-public-page--kontakt .wpforms-container textarea {
	width: 100%;
	min-height: 52px;
	padding: 12px 14px;
	border: 1px solid rgba(16, 24, 32, 0.2) !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: none !important;
}

.tf-public-page--kontakt .wpforms-container textarea {
	min-height: 150px;
}

.tf-public-page--kontakt .wpforms-container input:focus,
.tf-public-page--kontakt .wpforms-container select:focus,
.tf-public-page--kontakt .wpforms-container textarea:focus {
	border-color: var(--tf-blue) !important;
	outline: 3px solid rgba(40, 151, 224, 0.14);
}

.tf-public-page--kontakt .wpforms-container button[type="submit"] {
	min-height: 50px;
	padding: 13px 24px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--tf-amber) !important;
	color: var(--tf-ink) !important;
	font-weight: 800 !important;
}

.tf-public-page--privaatsustingimused .tf-builder-content > .elementor > .elementor-top-section > .elementor-container {
	max-width: 980px;
}

.tf-public-page--privaatsustingimused .elementor-element-37c1d6d,
.tf-public-page--privaatsustingimused .elementor-element-a81b2c4 {
	display: none;
}

.tf-public-page--privaatsustingimused .elementor-element-905fd78 {
	width: 100% !important;
}

.tf-public-page--privaatsustingimused .elementor-element-905fd78 > .elementor-widget-wrap {
	padding: clamp(30px, 5vw, 64px) !important;
	border: 1px solid rgba(16, 24, 32, 0.1);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 22px 60px rgba(16, 24, 32, 0.09);
}

.tf-public-page--privaatsustingimused .elementor-widget-text-editor p,
.tf-public-page--privaatsustingimused .elementor-widget-text-editor li {
	font-size: clamp(16px, 1.2vw, 18px);
	line-height: 1.75;
}

.tf-public-page--privaatsustingimused .elementor-widget-text-editor h2,
.tf-public-page--privaatsustingimused .elementor-widget-text-editor h3 {
	margin-top: 1.8em;
	line-height: 1.18;
}

@media (max-width: 980px) {
	.tf-coach-experience__heading {
		grid-template-columns: 1fr;
	}

	.tf-coach-experience__grid {
		grid-template-columns: 1fr;
	}

	.tf-race-card__media {
		min-height: 420px;
	}

	.tf-public-page--kontakt .elementor-element-81224ab > .elementor-container {
		flex-direction: column;
	}

	.tf-public-page--kontakt .elementor-element-81224ab > .elementor-container > .elementor-column {
		width: 100% !important;
	}
	.tf-public-page--knowledge .tf-builder-context .tf-context-nav {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.tf-public-page--knowledge .tf-builder-context .tf-context-nav > p {
		padding-top: 0;
	}

	.tf-builder-context .tf-context-nav {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.tf-reading-grid {
		grid-template-columns: 1fr;
		gap: 46px;
	}

	.tf-reading-grid__aside {
		order: 2;
	}

	.tf-context-nav,
	.tf-back-link {
		position: static;
	}

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

	.tf-subpage-cta__inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 640px) {
	.tf-public-page--treener .tf-coach-experience {
		padding-block: 62px;
	}

	.tf-coach-experience__heading {
		gap: 22px;
	}

	.tf-race-card {
		border-radius: 20px;
	}

	.tf-race-card__media {
		min-height: 360px;
		aspect-ratio: 4 / 5;
	}

	.tf-race-card--half .tf-race-card__media {
		aspect-ratio: 4 / 3;
	}

	.tf-race-card__result strong {
		font-size: clamp(42px, 14vw, 58px);
	}

	.tf-race-card__body {
		padding: 24px 20px;
	}

	.tf-public-page--kontakt .tf-subhero {
		min-height: 390px;
	}

	.tf-public-page--kontakt .elementor-element-32c9525a,
	.tf-public-page--kontakt .elementor-element-2cb4bd5 {
		display: none !important;
	}

	.tf-public-page--privaatsustingimused .tf-subhero h1 {
		font-size: clamp(32px, 9vw, 42px);
	}

	.tf-public-page--kontakt .tf-builder-content,
	.tf-public-page--privaatsustingimused .tf-builder-content {
		padding-inline: 12px;
	}

	.tf-public-page--kontakt .elementor-element-81224ab > .elementor-container > .elementor-column {
		padding-inline: 0;
	}

	.tf-public-page--kontakt .elementor-element-81224ab > .elementor-container > .elementor-column > .elementor-widget-wrap,
	.tf-public-page--privaatsustingimused .elementor-element-905fd78 > .elementor-widget-wrap {
		padding: 26px 20px !important;
		border-radius: 18px;
	}

	.tf-public-page--knowledge .tf-subhero {
		min-height: 440px;
	}

	.tf-public-page--knowledge .tf-builder-context .tf-context-nav > .tf-context-nav__groups {
		grid-template-columns: 1fr;
	}

	.tf-public-page--knowledge .tf-builder-content {
		padding-inline: 12px;
	}

	.tf-public-page--knowledge .tf-builder-content > .elementor > .elementor-top-section.elementor-section-boxed > .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated {
		padding: 28px 22px !important;
		border-radius: 18px;
	}

	.tf-public-page--knowledge .elementor-widget-text-editor .elementor-widget-container > p:first-child {
		font-size: 20px;
	}

	.tf-public-page--knowledge .elementor-widget-text-editor ul,
	.tf-public-page--knowledge .elementor-widget-text-editor ol {
		padding: 20px 18px 20px 38px;
	}

	.tf-public-page--knowledge .elementor-widget-text-editor table {
		font-size: 14px;
	}

	.tf-subhero {
		min-height: 500px;
	}

	.tf-subhero__content {
		padding-block: 130px 72px;
	}

	.tf-subhero h1,
	.tf-subhero--article h1 {
		font-size: clamp(40px, 11vw, 54px);
		overflow-wrap: anywhere;
	}

	.tf-breadcrumbs {
		margin-bottom: 44px;
	}

	.tf-rich-content p,
	.tf-rich-content li {
		font-size: 17px;
	}

	.tf-rich-content blockquote,
	.tf-rich-content .wpforms-container {
		border-radius: 18px;
	}

	.tf-blog-grid {
		grid-template-columns: 1fr;
	}

	.tf-button--dark {
		width: 100%;
	}
}

/* Full-bleed footer media CTA.
   Legacy Elementor pages keep their copy inside a readable content column,
   but the final image CTA has separate phone and desktop/tablet variants and
   is intended to meet both viewport edges. Limit the breakout to those last
   two full-width top sections so article copy and earlier media stay boxed. */
:is(.tf-builder-content, .tf-rich-content)
	> .elementor
	> .elementor-top-section.elementor-section-full_width:nth-last-child(-n + 2) {
	box-sizing: border-box;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
}

/* When the article ends with that full-bleed CTA, let the image meet the
   footer instead of exposing the generic 64px page-body bottom padding. */
.tf-public-article
	.tf-public-page__body:has(
		.tf-rich-content
			> .elementor
			> .elementor-top-section.elementor-section-full_width:last-child
	) {
	padding-bottom: 0;
}

/* Full-bleed footer media CTA.
   Legacy Elementor pages keep their copy inside a readable content column,
   but the final image CTA has separate phone and desktop/tablet variants and
   is intended to meet both viewport edges. Limit the breakout to those last
   two full-width top sections so article copy and earlier media stay boxed. */
:is(.tf-builder-content, .tf-rich-content)
	> .elementor
	> .elementor-top-section.elementor-section-full_width:nth-last-child(-n + 2) {
	box-sizing: border-box;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
}

/* Full-bleed footer media CTA.
   Legacy Elementor pages keep their copy inside a readable content column,
   but the final image CTA has separate phone and desktop/tablet variants and
   is intended to meet both viewport edges. Limit the breakout to those last
   two full-width top sections so article copy and earlier media stay boxed. */
:is(.tf-builder-content, .tf-rich-content)
	> .elementor
	> .elementor-top-section.elementor-section-full_width:nth-last-child(-n + 2) {
	box-sizing: border-box;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
}

/* Full-bleed footer media CTA.
   Legacy Elementor pages keep their copy inside a readable content column,
   but the final image CTA has separate phone and desktop/tablet variants and
   is intended to meet both viewport edges. Limit the breakout to those last
   two full-width top sections so article copy and earlier media stay boxed. */
:is(.tf-builder-content, .tf-rich-content)
	> .elementor
	> .elementor-top-section.elementor-section-full_width:nth-last-child(-n + 2) {
	box-sizing: border-box;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
}

@media (prefers-reduced-motion: reduce) {
	.tf-public-page *,
	.tf-public-page *::before,
	.tf-public-page *::after {
		transition-duration: 0.01ms !important;
	}
}



/* ---------------------------- contact details ------------------------- */

/* Sits above the form on /kontakt/. The page offered a form and nothing else:
   no address, no idea when an answer comes. Rendered by tf_contact_details_block()
   only when the values are actually configured. */
.tf-contact-details__shell { margin-top: 28px; }

.tf-contact-details {
	padding: 24px 26px;
	border: 1px solid var(--tf-tools-line, #E4E4E4);
	border-radius: 14px;
	background: #FCFCFC;
}

.tf-contact-details__title {
	margin: 0 0 18px;
	font-size: 18px;
	line-height: 1.25;
}

.tf-contact-details__grid {
	display: grid;
	gap: 16px 32px;
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 720px) {
	.tf-contact-details__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.tf-contact-details__item { margin: 0; display: grid; gap: 4px; }

.tf-contact-details__label {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #777;
}

.tf-contact-details__value {
	font-size: 16px;
	font-weight: 650;
	color: var(--tf-ink, #111);
	overflow-wrap: anywhere;
}

.tf-contact-details__value--plain { font-weight: 500; }

a.tf-contact-details__value {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

a.tf-contact-details__value:hover,
a.tf-contact-details__value:focus-visible { color: var(--tf-blue, #1e73be); }

.tf-contact-details__note {
	margin: 18px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--tf-tools-line, #E4E4E4);
	font-size: 13.5px;
	line-height: 1.6;
	color: #555;
}

/* Ironman annual recaps: one centred reading column across every year.
   The legacy Elementor layouts contain an outer navigation column and, inside
   the article, two additional empty spacer columns. Together they pushed the
   actual copy far to the right and left some versions without inner padding. */
:is(
	body.postid-5873,
	body.postid-5847,
	body.postid-6085,
	body.page-id-6260,
	body.postid-8270,
	body.postid-8274
) {
	--tf-ironman-reading-width: 940px;
	--tf-ironman-card-padding: clamp(28px, 5vw, 62px);
}

:is(
	body.postid-5873,
	body.postid-5847,
	body.postid-6085,
	body.postid-8270,
	body.postid-8274
) .tf-reading-grid--article {
	grid-template-columns: minmax(0, 1fr);
	justify-content: center;
	gap: clamp(28px, 4vw, 48px);
}

:is(
	body.postid-5873,
	body.postid-5847,
	body.postid-6085,
	body.postid-8270,
	body.postid-8274
) :is(.tf-reading-grid__aside, .tf-rich-content) {
	width: min(100%, var(--tf-ironman-reading-width));
	margin-inline: auto;
}

:is(
	body.postid-5873,
	body.postid-5847,
	body.postid-6085,
	body.postid-8270,
	body.postid-8274
) .tf-reading-grid__aside {
	order: 0;
}

/* The current 2025 recap uses native WordPress content rather than Elementor. */
body.postid-8270 .tf-rich-content {
	padding: var(--tf-ironman-card-padding);
	border: 1px solid rgba(17, 17, 17, 0.1);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 22px 60px rgba(17, 17, 17, 0.1);
}

/* Remove obsolete decorative article banners now that every recap has a hero. */
:is(body.postid-5873, body.postid-5847) .elementor-element-71916f96,
body.postid-6085 .elementor-element-776bff64 {
	display: none !important;
}

/* Desktop content sections: discard empty spacer columns and let the reading
   card use the full centred article width. */
@media (min-width: 922px) {
	:is(
		body.postid-5873 .elementor-element-1649945,
		body.postid-5847 .elementor-element-1649945,
		body.postid-6085 .elementor-element-629a50ea,
		body.page-id-6260 .elementor-element-21868841,
		body.postid-8274 .elementor-element-f0acbe4
	) > .elementor-container {
		display: block !important;
		width: min(100%, var(--tf-ironman-reading-width)) !important;
		max-width: var(--tf-ironman-reading-width) !important;
		margin-inline: auto !important;
	}

	:is(
		body.postid-5873 .elementor-element-1649945,
		body.postid-5847 .elementor-element-1649945,
		body.postid-6085 .elementor-element-629a50ea,
		body.page-id-6260 .elementor-element-21868841,
		body.postid-8274 .elementor-element-f0acbe4
	) > .elementor-container > .elementor-column {
		display: none !important;
	}

	:is(
		body.postid-5873 .elementor-element-1649945,
		body.postid-5847 .elementor-element-1649945,
		body.postid-6085 .elementor-element-629a50ea,
		body.page-id-6260 .elementor-element-21868841,
		body.postid-8274 .elementor-element-f0acbe4
	) > .elementor-container > .elementor-column:nth-child(2) {
		display: block !important;
		width: 100% !important;
	}
}

/* Shared card surface for the populated article column on all Elementor
   desktop, tablet and phone variants. */
:is(
	body.postid-5873 .elementor-element-1649945,
	body.postid-5847 .elementor-element-1649945,
	body.postid-6085 .elementor-element-629a50ea,
	body.page-id-6260 .elementor-element-21868841,
	body.postid-8274 .elementor-element-f0acbe4,
	body.postid-5873 .elementor-element-79c886a,
	body.postid-5847 .elementor-element-79c886a,
	body.postid-6085 .elementor-element-37dae07f,
	body.page-id-6260 .elementor-element-558d4cc6,
	body.postid-8274 .elementor-element-307df28,
	body.postid-6085 .elementor-element-da22290,
	body.page-id-6260 .elementor-element-a405b7e,
	body.postid-8274 .elementor-element-b619803
) > .elementor-container > .elementor-column:first-child > .elementor-widget-wrap.elementor-element-populated,
:is(
	body.postid-5873 .elementor-element-1649945,
	body.postid-5847 .elementor-element-1649945,
	body.postid-6085 .elementor-element-629a50ea,
	body.page-id-6260 .elementor-element-21868841,
	body.postid-8274 .elementor-element-f0acbe4,
	body.postid-6085 .elementor-element-37dae07f,
	body.page-id-6260 .elementor-element-558d4cc6
) > .elementor-container > .elementor-column:nth-child(2) > .elementor-widget-wrap.elementor-element-populated {
	padding: var(--tf-ironman-card-padding) !important;
	border: 1px solid rgba(17, 17, 17, 0.1);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 22px 60px rgba(17, 17, 17, 0.1);
}

/* Normalise the tracked title at the top of each legacy Elementor card. */
:is(
	body.postid-5873,
	body.postid-5847,
	body.postid-6085,
	body.page-id-6260,
	body.postid-8274
) .tf-rich-content .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading:first-child .elementor-heading-title,
body.page-id-6260 .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading:first-child .elementor-heading-title {
	max-width: 100%;
	font-size: clamp(20px, 2.5vw, 30px) !important;
	line-height: 1.25 !important;
	letter-spacing: 0.12em !important;
	white-space: normal !important;
	overflow-wrap: break-word;
	text-align: center;
}

@media (max-width: 640px) {
	:is(
		body.postid-5873,
		body.postid-5847,
		body.postid-6085,
		body.page-id-6260,
		body.postid-8270,
		body.postid-8274
	) {
		--tf-ironman-card-padding: 24px;
	}

	body.postid-8270 .tf-rich-content {
		border-radius: 16px;
	}

	:is(
		body.postid-5873,
		body.postid-5847,
		body.postid-6085,
		body.page-id-6260,
		body.postid-8274
	) .tf-rich-content .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading:first-child .elementor-heading-title,
	body.page-id-6260 .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading:first-child .elementor-heading-title {
		font-size: clamp(17px, 4.8vw, 21px) !important;
		letter-spacing: 0.08em !important;
	}
}
