.td-template-page {
	min-height: 60vh;
	background: var(--td-white);
	font-family: var(--td-font);
}

.td-layout-container,
.td-article-container {
	width: min(100% - 48px, var(--td-layout-width));
	margin-inline: auto;
}

.td-article-container {
	max-width: var(--td-content-width);
}

.td-page-hero {
	padding-block: clamp(4rem, 9vw, 7rem);
	background: var(--td-blue-dark);
	color: var(--td-white);
}

.td-page-hero--compact {
	padding-block: clamp(3rem, 6vw, 5rem);
}

.td-page-hero h1 {
	max-width: 900px;
	margin: .45rem 0 1rem;
	color: var(--td-white);
	font-size: clamp(2.25rem, 5vw, 4.5rem);
	line-height: 1.08;
}

.td-page-eyebrow {
	margin: 0;
	color: var(--td-green);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.td-page-lead,
.td-page-lead p {
	max-width: 720px;
	margin: 0;
	color: var(--td-blue-border);
	font-size: clamp(1rem, 2vw, 1.2rem);
	line-height: 1.65;
}

.td-template-section {
	padding-block: clamp(3.5rem, 7vw, 6rem);
}

.td-template-section--surface {
	background: var(--td-surface);
}

.td-section-heading {
	margin-bottom: 2rem;
}

.td-section-heading h2 {
	margin: .35rem 0 0;
	color: var(--td-blue-dark);
	font-size: clamp(1.8rem, 3vw, 2.7rem);
}

.td-home-hero__actions,
.td-page-hero .search-form {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	margin-top: 1.75rem;
}

.td-search-filters {
	display: grid;
	grid-template-columns: minmax(240px, 2fr) repeat(3, minmax(140px, 1fr)) auto auto;
	align-items: end;
	gap: .75rem;
	margin-top: 1.5rem;
}

.td-search-filters label {
	display: block;
	margin-bottom: .35rem;
	color: var(--td-white);
	font-size: .82rem;
	font-weight: 700;
}

.td-search-filters :where(input, select) {
	width: 100%;
	min-height: 46px;
	padding: .65rem .75rem;
	border: 1px solid var(--td-blue-border);
	border-radius: var(--td-radius-sm);
	background: var(--td-white);
	color: var(--td-blue-dark);
	font: inherit;
}

.td-search-filters .td-button {
	min-height: 46px;
}

.td-search-filters__reset {
	align-self: center;
	color: var(--td-white);
	font-weight: 700;
}

.td-search-summary {
	margin: 0 0 1.25rem;
	color: var(--td-blue-muted);
	font-weight: 700;
}

.td-resources-library {
	background: var(--td-white);
}

.td-resource-filters {
	display: grid;
	grid-template-columns: minmax(240px, 2fr) repeat(3, minmax(140px, 1fr)) auto auto;
	align-items: end;
	gap: .75rem;
	margin-bottom: 1.25rem;
	padding: 1.25rem;
	border: 1px solid var(--td-blue-border);
	border-radius: var(--td-radius-sm);
	background: var(--td-surface);
}

.td-resource-filters label {
	display: block;
	margin-bottom: .35rem;
	color: var(--td-blue-dark);
	font-size: .82rem;
	font-weight: 700;
}

.td-resource-filters :where(input, select) {
	width: 100%;
	min-height: 46px;
	padding: .65rem .75rem;
	border: 1px solid var(--td-blue-border);
	border-radius: var(--td-radius-sm);
	background: var(--td-white);
	color: var(--td-blue-dark);
	font: inherit;
}

.td-resource-filters .td-button {
	min-height: 46px;
}

.td-resource-filters__reset {
	align-self: center;
	color: var(--td-blue);
	font-weight: 700;
}

.td-download-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.td-download-card {
	display: flex;
	min-height: 280px;
	padding: 1.5rem;
	flex-direction: column;
	align-items: flex-start;
	border: 1px solid var(--td-blue-border);
	border-top: 3px solid var(--td-green);
	border-radius: var(--td-radius-sm);
	background: var(--td-white);
}

.td-download-card__meta {
	margin: 0 0 .75rem;
	color: var(--td-green-dark);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.td-download-card h3 {
	margin: 0 0 .75rem;
	color: var(--td-blue-dark);
}

.td-download-card > p:not(.td-download-card__meta) {
	margin: 0 0 1.25rem;
}

.td-download-card__list {
	margin: -.5rem 0 1.25rem;
}

.td-download-card__list :where(ul, ol) {
	margin: 0;
	padding-left: 1.25rem;
}

.td-download-card__list li + li {
	margin-top: .3rem;
}

.td-download-card .td-button {
	margin-top: auto;
}

.td-button--on-dark {
	border-color: var(--td-white);
	color: var(--td-white);
}

.td-category-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

.td-category-card {
	display: flex;
	min-height: 220px;
	padding: 1.5rem;
	flex-direction: column;
	border: 1px solid var(--td-blue-border);
	border-top: 3px solid var(--td-green);
	border-radius: var(--td-radius-sm);
	background: var(--td-white);
	color: var(--td-text);
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.td-category-card:hover,
.td-category-card:focus-visible {
	border-color: var(--td-green);
	box-shadow: var(--td-shadow-sm);
	transform: translateY(-2px);
}

.td-category-card h3 {
	margin: 0 0 .7rem;
	color: var(--td-blue-dark);
	font-size: 1.25rem;
}

.td-category-card p {
	margin: 0 0 1.2rem;
}

.td-category-card > span {
	margin-top: auto;
	color: var(--td-blue);
	font-weight: 700;
}

.td-article-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 3vw, 2rem);
}

.td-article-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--td-blue-border);
	border-radius: var(--td-radius-sm);
	background: var(--td-white);
	box-shadow: var(--td-shadow-sm);
}

.td-article-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--td-blue-pale);
}

.td-article-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 240ms ease;
}

.td-article-card:hover .td-article-card__media img {
	transform: scale(1.025);
}

.td-article-card__placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	color: var(--td-blue);
	font-size: 2rem;
	font-weight: 700;
}

.td-article-card__content {
	display: flex;
	padding: 1.4rem;
	flex: 1;
	flex-direction: column;
}

.td-article-card__meta {
	display: flex;
	gap: .55rem;
	margin: 0 0 .7rem;
	color: var(--td-muted);
	font-size: .75rem;
	font-weight: 600;
}

.td-article-card__meta span::before {
	margin-right: .55rem;
	content: "·";
}

.td-article-card h2 {
	margin: 0 0 .75rem;
	font-size: 1.25rem;
	line-height: 1.3;
}

.td-article-card h2 a {
	color: var(--td-blue-dark);
	text-decoration: none;
}

.td-article-card__content > p:not(.td-article-card__meta) {
	margin: 0 0 1rem;
	color: var(--td-text);
}

.td-article-card__link {
	margin-top: auto;
	color: var(--td-blue);
	font-weight: 700;
	text-decoration: none;
}

.td-empty-state {
	grid-column: 1 / -1;
	padding: clamp(2rem, 5vw, 4rem);
	border: 1px dashed #7ea3cb;
	background: var(--td-white);
	text-align: center;
}

.td-empty-state h2,
.td-empty-state h3 {
	margin-top: 0;
	color: var(--td-blue-dark);
}

.td-archive-pathways {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: clamp(2rem, 4vw, 3.5rem);
}

.td-archive-pathways > div {
	padding: clamp(1.4rem, 3vw, 2rem);
	border-top: 3px solid var(--td-green);
	background: var(--td-blue-pale);
}

.td-archive-pathways h2 { margin: .35rem 0 .65rem; font-size: 1.35rem; }
.td-archive-pathways p { margin-top: 0; }
.td-archive-pathways a { color: var(--td-blue); font-weight: 700; }
.td-archive-pathways__button { display: inline-block; padding: .7rem 1rem; background: var(--td-blue-dark); color: var(--td-white) !important; text-decoration: none; }

@media (max-width: 700px) {
	.td-archive-pathways { grid-template-columns: 1fr; }
}

.td-single__header {
	padding-block: clamp(2.75rem, 5vw, 3.5rem);
}

.td-single__header .td-article-container {
	max-width: 900px;
}

.td-single__header h1 {
	font-size: clamp(2.4rem, 4.2vw, 3.6rem);
}

.td-single__meta {
	margin: 1.25rem 0 0;
	color: var(--td-blue-border);
	font-size: .875rem;
}

.td-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	margin-bottom: 1.25rem;
	color: var(--td-blue-border);
	font-size: .78rem;
}

.td-breadcrumb a {
	color: var(--td-white);
	text-decoration: none;
}

.td-breadcrumb a:hover,
.td-breadcrumb a:focus-visible {
	color: var(--td-green);
}

.td-single__image {
	margin-top: clamp(1.5rem, 4vw, 3rem);
}

.td-single__image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--td-radius-sm);
	box-shadow: var(--td-shadow-md);
}

.td-single__content {
	padding-block: clamp(3rem, 7vw, 6rem);
	font-size: 1.0625rem;
	line-height: 1.75;
}

.td-single {
	background: var(--td-white);
}

.td-single__content .td-article-lead {
	font-size: clamp(1.1rem, 2vw, 1.25rem);
	line-height: 1.65;
}

.td-single__content .td-key-point,
.td-single__content .td-article-cta {
	margin-block: 2rem;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	border-left: 4px solid var(--td-green);
	background: var(--td-surface);
}

.td-single__content .td-article-cta {
	border-top: 3px solid var(--td-green);
	border-left: 0;
}

.td-single__content .td-key-point > :first-child,
.td-single__content .td-article-cta > :first-child {
	margin-top: 0;
}

.td-single__content .td-key-point > :last-child,
.td-single__content .td-article-cta > :last-child {
	margin-bottom: 0;
}

.td-single__content .td-checklist li::marker {
	color: var(--td-green-dark);
}

.td-single__content :where(.td-pros-cons > .wp-block-column, .td-key-figures > .wp-block-column) {
	padding: clamp(1.1rem, 3vw, 1.5rem);
	border: 1px solid var(--td-blue-border);
	background: var(--td-white);
}

.td-single__content .td-pros-cons__positive {
	border-top: 3px solid var(--td-green);
}

.td-single__content .td-pros-cons__watch {
	border-top: 3px solid var(--td-blue);
}

.td-single__content .td-key-figures {
	gap: 1rem;
}

.td-single__content .td-key-figure__value {
	margin: 0 0 .35rem;
	color: var(--td-blue);
	font-size: clamp(2rem, 5vw, 3.25rem);
	font-weight: 700;
	line-height: 1;
}

.td-single__content .td-source-note,
.td-single__content figcaption {
	color: var(--td-muted);
	font-size: .82rem;
}

.td-single__content .td-editorial-figure img {
	width: 100%;
	border-radius: var(--td-radius-sm);
}

.td-single__content .td-expert-quote {
	margin-block: 2rem;
	padding: clamp(1.5rem, 4vw, 2.25rem);
	border: 0;
	border-top: 3px solid var(--td-green);
	background: var(--td-blue-dark);
	color: var(--td-white);
}

.td-single__content .td-expert-quote p {
	font-size: clamp(1.2rem, 3vw, 1.55rem);
}

.td-single__content .td-expert-quote cite {
	color: var(--td-blue-border);
}

.td-single__content :where(.td-technical-warning, .td-prerequisites, .td-resource-download) {
	margin-block: 2rem;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	background: var(--td-surface);
}

.td-single__content .td-technical-warning {
	border-left: 4px solid #d97706;
}

.td-single__content .td-prerequisites {
	border-left: 4px solid var(--td-blue);
}

.td-single__content .td-resource-download {
	border-top: 3px solid var(--td-green);
}

.td-single__content .td-resource-download__eyebrow {
	color: var(--td-green-dark);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
}

.td-single__content .td-faq-item {
	margin-block: .75rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--td-blue-border);
	background: var(--td-white);
}

.td-single__content .td-faq-item summary {
	color: var(--td-blue-dark);
	font-weight: 700;
	cursor: pointer;
}

.td-single__content .td-media-text {
	gap: clamp(1.25rem, 4vw, 2.5rem);
	margin-block: 2rem;
}

.td-single__content :where(.td-practical-advice, .td-editorial-video, .td-newsletter-cta) {
	margin-block: 2rem;
	padding: clamp(1.25rem, 3vw, 1.75rem);
}

.td-single__content .td-practical-advice {
	border-left: 4px solid var(--td-green);
	background: var(--td-blue-pale);
}

.td-single__content :where(.td-practical-advice__label, .td-newsletter-cta__eyebrow) {
	margin-bottom: .4rem;
	color: var(--td-green-dark);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
}

.td-single__content .td-editorial-video {
	border: 1px solid var(--td-blue-border);
	background: var(--td-white);
}

.td-single__content .td-editorial-video .wp-block-embed__wrapper {
	aspect-ratio: 16 / 9;
}

.td-single__content .td-video-transcript {
	margin-top: 1rem;
	padding: 1rem;
	background: var(--td-surface);
}

.td-single__content .td-newsletter-cta {
	border-top: 3px solid var(--td-green);
	background: var(--td-blue-dark);
	color: var(--td-blue-border);
}

.td-single__content .td-newsletter-cta :where(h2, h3) {
	color: var(--td-white);
}

.td-single__content .td-comparison-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.td-single__content .td-comparison-table table {
	min-width: 640px;
}

.td-article-author {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1rem;
	margin-top: clamp(3rem, 7vw, 5rem);
	padding-top: 1.5rem;
	border-top: 1px solid var(--td-blue-border);
}

.td-article-author__avatar img {
	display: block;
	border-radius: 50%;
}

.td-article-author p {
	margin: 0;
}

.td-article-author__label {
	color: var(--td-green-dark);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.td-article-author .td-article-author__name {
	margin-block: .2rem;
	color: var(--td-blue-dark);
	font-size: 1.2rem;
	font-weight: 700;
}

.td-related {
	padding-block: clamp(3.5rem, 7vw, 6rem);
	background: var(--td-surface);
}

.td-related h2 {
	margin: .35rem 0 2rem;
	color: var(--td-blue-dark);
	font-size: clamp(1.8rem, 3vw, 2.7rem);
}

.td-error-page {
	min-height: 60vh;
}

.td-error-page__code {
	margin: 0;
	color: var(--td-green);
	font-size: clamp(4rem, 14vw, 9rem);
	font-weight: 700;
	line-height: .9;
}

.td-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: start;
}

.td-contact-page > .td-template-section {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin-inline: 0;
	padding-inline: max(24px, calc((100% - var(--td-layout-width)) / 2));
	background: var(--td-surface);
}

.td-contact-content {
	padding: clamp(1.5rem, 4vw, 2.25rem);
	border: 1px solid var(--td-blue-border);
	border-radius: var(--td-radius-sm);
	background: var(--td-white);
	box-shadow: var(--td-shadow-sm);
}

.td-contact-aside {
	padding: clamp(1.5rem, 4vw, 2.25rem);
	border-top: 3px solid var(--td-green);
	background: var(--td-blue-dark);
	color: var(--td-blue-border);
}

.td-contact-aside h2 {
	margin-top: 0;
	color: var(--td-white);
	font-size: 1.35rem;
}

.td-contact-aside ul {
	margin: 0 0 1.5rem;
	padding-left: 1.15rem;
}

.td-contact-aside li + li {
	margin-top: .55rem;
}

.td-contact-aside a {
	color: var(--td-green);
	font-weight: 700;
}

.td-project-form {
	display: grid;
	gap: 1.25rem;
}

.td-project-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.td-project-form label {
	display: grid;
	gap: .45rem;
	color: var(--td-blue-dark);
	font-weight: 700;
}

.td-form-label {
	display: inline-flex;
	min-height: 1.5rem;
	gap: .3rem;
	align-items: baseline;
}

.td-form-label small {
	color: var(--td-muted);
	font-size: .75rem;
	font-weight: 400;
}

.td-project-form :where(input:not([type="checkbox"]), select, textarea) {
	box-sizing: border-box;
	width: 100%;
	height: 48px;
	min-height: 48px;
	padding: .7rem .8rem;
	border: 1px solid var(--td-blue-border);
	border-radius: var(--td-radius-sm);
	background: var(--td-white);
	color: var(--td-text);
	font: inherit;
}

.td-project-form textarea {
	height: auto;
	min-height: 150px;
	resize: vertical;
}

.td-project-form :where(input, select, textarea):focus-visible {
	border-color: var(--td-blue);
	outline: 3px solid rgba(0, 83, 155, .18);
	outline-offset: 1px;
}

.td-project-form__wide,
.td-project-form__consent {
	grid-column: 1 / -1;
}

.td-project-form .td-project-form__consent {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .7rem;
	align-items: start;
	font-weight: 400;
}

.td-project-form__consent input {
	width: 1.15rem;
	height: 1.15rem;
	margin-top: .2rem;
}

.td-project-form__turnstile {
	min-height: 65px;
}

.td-project-form__turnstile .cf-turnstile {
	max-width: 100%;
}

.td-form-required,
.td-project-form__privacy {
	margin: 0;
	color: var(--td-muted);
	font-size: .84rem;
}

/* Privacy policy fallback. Editors can replace it by adding Gutenberg content. */
.td-privacy-policy {
	width: min(100% - 48px, 900px);
	margin: 0 auto;
	padding: 56px 0 72px;
	color: #16344d;
}
.td-privacy-policy > p:first-of-type { margin-top: 0; }
.td-privacy-policy section { padding-top: 20px; }
.td-privacy-policy h2 { margin: 0 0 10px; color: #001b32; font-size: clamp(22px, 3vw, 30px); }
.td-privacy-policy p,
.td-privacy-policy li { line-height: 1.7; }
.td-privacy-policy__updated { color: #526372; font-size: 13px; }
.td-privacy-policy__table-wrap { max-width: 100%; overflow-x: auto; }
.td-privacy-policy table { width: 100%; min-width: 680px; border-collapse: collapse; background: #fff; }
.td-privacy-policy th,
.td-privacy-policy td { padding: 13px 15px; border: 1px solid #cdd9e2; text-align: left; vertical-align: top; }
.td-privacy-policy th { background: #001b32; color: #fff; }
.td-privacy-policy tbody tr:nth-child(even) { background: #f2f6f8; }

@media (max-width: 600px) {
	.td-privacy-policy { width: min(100% - 32px, 900px); padding: 36px 0 52px; }
}

.td-form-notice {
	margin-bottom: 1.5rem;
	padding: 1rem 1.1rem;
	border-left: 4px solid var(--td-blue);
	background: var(--td-surface);
}

.td-form-notice--success {
	border-left-color: var(--td-green-dark);
}

.td-form-notice--error {
	border-left-color: #b42318;
}

.td-project-form__website {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.td-resources-introduction {
	background: var(--td-white);
}

.td-resources-page .td-page-hero--compact {
	padding-block: clamp(2.25rem, 4vw, 3.5rem);
}

.td-resources-page .td-page-hero h1 {
	margin-bottom: .75rem;
}

.td-resources-page .td-page-lead p {
	margin: 0;
}

.td-resources-page .td-template-section {
	padding-block: clamp(2.75rem, 5vw, 4.5rem);
}

.td-resources-page .td-section-heading {
	margin-bottom: 1.5rem;
}

.td-layout-container.td-resources-intro {
	width: min(100% - 48px, 900px);
	max-width: 900px;
	margin-inline: auto;
	padding-block: clamp(2.5rem, 5vw, 4rem);
	font-size: 1.0625rem;
	line-height: 1.7;
}

.td-resources-intro > :first-child {
	margin-top: 0;
}

.td-resources-intro > :last-child {
	margin-bottom: 0;
}

.td-resource-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.td-resource-card {
	display: grid;
	min-height: 200px;
	padding: clamp(1.4rem, 4vw, 2rem);
	align-content: start;
	border: 1px solid var(--td-blue-border);
	border-radius: var(--td-radius-sm);
	background: var(--td-white);
	color: var(--td-text);
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.td-resource-card:hover,
.td-resource-card:focus-visible {
	border-color: var(--td-green);
	box-shadow: var(--td-shadow-sm);
	transform: translateY(-2px);
}

.td-resource-card > span {
	color: var(--td-green-dark);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
}

.td-resource-card h3 {
	margin: 1.25rem 0 .7rem;
	color: var(--td-blue-dark);
	font-size: 1.35rem;
}

.td-resource-card p {
	margin: 0;
}

.td-download-gate__panel {
	max-width: 680px;
	margin-inline: auto;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid var(--td-blue-border);
	border-top: 3px solid var(--td-green);
	background: var(--td-white);
	box-shadow: var(--td-shadow-sm);
}

.td-download-gate__panel h2 {
	margin-top: 0;
}

.td-download-gate__form {
	display: grid;
	gap: 1.25rem;
	margin-top: 1.5rem;
	justify-items: start;
}

.td-download-gate__form .cf-turnstile {
	max-width: 100%;
}

.td-page-hero .search-form label {
	min-width: min(100%, 420px);
}

.td-page-hero .search-field {
	width: 100%;
	min-height: 46px;
	padding: .7rem .9rem;
	border: 1px solid var(--td-blue-border);
	border-radius: var(--td-radius-sm);
}

.td-page-hero .search-submit {
	padding-inline: 1.1rem;
	border: 1px solid var(--td-green);
	border-radius: var(--td-radius-sm);
	background: var(--td-green);
	color: var(--td-blue-dark);
	font-weight: 700;
}

.navigation.pagination {
	margin-top: 3rem;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.page-numbers {
	display: grid;
	min-width: 42px;
	min-height: 42px;
	padding: .5rem;
	place-items: center;
	border: 1px solid var(--td-blue-border);
	color: var(--td-blue);
	text-decoration: none;
}

.page-numbers.current,
.page-numbers:hover {
	border-color: var(--td-blue);
	background: var(--td-blue);
	color: var(--td-white);
}

@media (max-width: 960px) {
	.td-search-filters,
	.td-resource-filters {
		grid-template-columns: 1fr 1fr;
	}

	.td-search-filters__query,
	.td-resource-filters__query {
		grid-column: 1 / -1;
	}

	.td-category-grid,
	.td-article-grid,
	.td-download-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.td-contact-layout {
		grid-template-columns: 1fr;
	}

	.td-project-form__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.td-search-filters,
	.td-resource-filters {
		grid-template-columns: 1fr;
	}

	.td-search-filters__query,
	.td-resource-filters__query {
		grid-column: auto;
	}

	.td-layout-container,
	.td-article-container {
		width: calc(100% - 32px);
	}

	.td-category-grid,
	.td-article-grid,
	.td-resource-grid,
	.td-download-grid {
		grid-template-columns: 1fr;
	}

	.td-category-card {
		min-height: 190px;
	}

	.td-single__header {
		padding-block: 2.25rem;
	}

	.td-single__header h1 {
		font-size: 2rem;
		line-height: 1.1;
	}

	.td-layout-container.td-resources-intro {
		width: calc(100% - 32px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.td-category-card,
	.td-article-card__media img {
		transition-duration: .01ms !important;
	}
}

.td-single__level {
	display: inline-flex;
	margin: 1rem 0 0;
	padding: .35rem .65rem;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 999px;
	color: var(--td-white);
	font-size: .78rem;
	font-weight: 700;
}

.td-article-toc {
	margin: 0 0 2rem;
	padding: 1.25rem 1.5rem;
	border-left: 3px solid var(--td-green);
	background: var(--td-blue-pale);
}

.td-article-reading-layout {
	display: grid;
	grid-template-columns: minmax(220px, 260px) minmax(0, 900px);
	gap: clamp(2rem, 4vw, 4rem);
	width: min(calc(100% - 48px), 1220px);
	margin-inline: auto;
	align-items: start;
}

.td-article-reading-layout > .td-single__content {
	box-sizing: border-box;
	width: 100%;
	margin-inline: 0;
}

.td-article-toc-sidebar {
	position: sticky;
	top: 112px;
	max-height: calc(100vh - 144px);
	margin-top: clamp(3rem, 7vw, 6rem);
	overflow: auto;
	padding: 1.25rem;
	border: 1px solid var(--td-blue-border);
	border-top: 3px solid var(--td-green);
	background: var(--td-white);
	box-shadow: var(--td-shadow-sm);
}

.td-article-toc-sidebar ol {
	display: grid;
	gap: .35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.td-article-toc-sidebar a {
	display: block;
	padding: .55rem .65rem;
	border-left: 3px solid transparent;
	color: var(--td-muted);
	font-size: .875rem;
	font-weight: 650;
	line-height: 1.35;
	text-decoration: none;
}

.td-article-toc-sidebar a:hover,
.td-article-toc-sidebar a:focus-visible,
.td-article-toc-sidebar a.is-active {
	border-left-color: var(--td-green);
	background: var(--td-blue-pale);
	color: var(--td-blue-dark);
}

.td-article-toc__toggle {
	display: flex;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--td-blue-dark);
	font: inherit;
	font-weight: 700;
	justify-content: space-between;
	align-items: center;
	text-align: left;
}

.td-article-toc__chevron {
	font-size: 1.25rem;
	transition: transform 160ms ease;
}

.td-article-toc.is-open .td-article-toc__chevron {
	transform: rotate(180deg);
}

.td-reading-progress {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	z-index: 1001;
	width: 100%;
	height: 4px;
	pointer-events: none;
	background: rgba(0, 27, 50, .12);
}

.td-reading-progress span {
	display: block;
	width: 100%;
	height: 100%;
	transform: scaleX(0);
	transform-origin: left center;
	background: var(--td-green);
}

.td-about-video__grid {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}

.td-about-video video {
	display: block;
	width: 100%;
	border-radius: 14px;
	background: #001d33;
	box-shadow: 0 18px 45px rgba(0, 29, 51, .18);
}

.td-about-video__note {
	font-size: .9rem;
	font-weight: 700;
	color: #536579;
}

.td-article-video {
	margin-block: 2.5rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid #d9e3ec;
	border-radius: 14px;
	background: #f4f8fb;
}

.td-article-video video {
	display: block;
	width: 100%;
	margin-top: 1rem;
	border-radius: 10px;
	background: #001d33;
}

.td-article-video__note {
	margin-bottom: 0;
	font-size: .9rem;
	font-weight: 700;
	color: #536579;
}

.td-resources-video__card {
	display: flex;
	gap: 2rem;
	align-items: center;
	justify-content: space-between;
	padding: clamp(1.5rem, 4vw, 3rem);
	border-radius: 14px;
	background: #eaf1f7;
}

.td-resources-video__card > div {
	max-width: 720px;
}

.td-resources-video__card .td-button {
	flex: 0 0 auto;
}

.td-back-to-top {
	position: fixed;
	right: clamp(1rem, 3vw, 2rem);
	bottom: clamp(1rem, 3vw, 2rem);
	z-index: 900;
	display: grid;
	width: 48px;
	height: 48px;
	padding: 0;
	place-items: center;
	border: 2px solid var(--td-white);
	border-radius: 50%;
	background: var(--td-blue-dark);
	box-shadow: var(--td-shadow-md);
	color: var(--td-white);
	font: inherit;
	font-size: 1.35rem;
	cursor: pointer;
}

.td-back-to-top:hover,
.td-back-to-top:focus-visible {
	background: var(--td-green);
	color: var(--td-blue-dark);
}

.td-back-to-top[hidden] {
	display: none;
}

@media (min-width: 641px) {
	.td-article-toc__toggle {
		pointer-events: none;
	}

	.td-article-toc__chevron {
		display: none;
	}
}

@media (max-width: 1100px) {
	.td-about-video__grid {
		grid-template-columns: 1fr;
	}
	.td-article-reading-layout {
		display: block;
		width: 100%;
	}

	.td-article-reading-layout > .td-single__content {
		width: min(calc(100% - 48px), 900px);
		margin-inline: auto;
	}

	.td-article-toc-sidebar {
		display: none;
	}
}

@media (max-width: 640px) {
	.td-resources-video__card {
		align-items: stretch;
		flex-direction: column;
	}
	.td-article-reading-layout > .td-single__content {
		width: calc(100% - 32px);
	}

	.td-article-toc {
		position: sticky;
		top: var(--td-article-sticky-offset, 0px);
		z-index: 850;
		max-height: calc(100dvh - var(--td-article-sticky-offset, 0px) - 1rem);
		overflow-y: auto;
		padding: 1rem;
		border: 1px solid var(--td-blue-border);
		border-left: 3px solid var(--td-green);
		background: var(--td-blue-pale);
		box-shadow: var(--td-shadow-sm);
	}

	.td-single__content > h2 {
		scroll-margin-top: calc(var(--td-article-sticky-offset, 0px) + var(--td-article-toc-collapsed-height, 4rem) + 1rem);
	}

	.td-article-toc:not(.is-open) ol {
		display: none;
	}

	.td-article-toc.is-open ol {
		margin-top: 1rem;
	}

	.td-back-to-top {
		right: 1rem;
		bottom: 1rem;
		width: 44px;
		height: 44px;
	}
}

.td-article-toc__title,
.td-article-tools > p:first-child {
	margin: 0 0 .75rem;
	color: var(--td-blue-dark);
	font-weight: 700;
}

.td-article-toc ol {
	margin: 0;
	padding-left: 1.25rem;
}

.td-article-toc li + li {
	margin-top: .4rem;
}

.td-article-tools {
	margin-top: 2.5rem;
	padding-block: 1.25rem;
	border-block: 1px solid var(--td-blue-border);
}

.td-article-tools__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
}

.td-article-tool {
	min-height: 42px;
	padding: .6rem .85rem;
	border: 1px solid var(--td-blue);
	border-radius: var(--td-radius-sm);
	background: var(--td-white);
	color: var(--td-blue);
	font: inherit;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.td-article-tool:hover,
.td-article-tool:focus-visible {
	background: var(--td-blue);
	color: var(--td-white);
}

.td-copy-status {
	min-height: 1.4em;
	margin: .65rem 0 0;
	font-size: .875rem;
}

.td-configurator-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 1.5rem;
	margin-block: 2.5rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	border-top: 3px solid var(--td-green);
	background: var(--td-surface);
}

.td-configurator-cta__eyebrow {
	margin: 0 0 .4rem;
	color: var(--td-green-dark);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.td-configurator-cta h2 {
	margin: 0 0 .5rem;
}

.td-configurator-cta__content > :last-child {
	margin-bottom: 0;
}

.td-configurator-cta__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: .75rem 1rem;
	background: var(--td-green);
	color: var(--td-blue-dark);
	font-weight: 800;
	text-decoration: none;
}

.td-configurator-cta__button:hover,
.td-configurator-cta__button:focus-visible {
	background: var(--td-blue);
	color: var(--td-white);
}

/* Keep contextual page CTAs close to the content they introduce. */
.td-configurator-cta--home,
.td-configurator-cta--resources {
	margin-block: clamp(1.5rem, 3vw, 2rem) 0;
}

.td-home-topics {
	padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.td-home-topics + .td-template-section,
.td-resources-page .td-resources-library {
	padding-top: clamp(1.75rem, 3.5vw, 3rem);
}

/* Keep the two editorial recommendation sections visually continuous. */
.td-home-downloads {
	padding-bottom: 0;
}

.td-home-downloads + .td-home-popular {
	padding-top: 0;
}

.td-resources-page .td-resources-paths {
	padding-bottom: clamp(1.25rem, 2.5vw, 2rem);
}

.td-configurator-page {
	background: var(--td-surface);
}

.td-configurator-page__header {
	padding-block: clamp(1.1rem, 2.25vw, 1.85rem);
	background: var(--td-blue-dark);
	color: var(--td-white);
}

.td-configurator-page__header h1,
.td-configurator-page__header p {
	color: inherit;
}

.td-configurator-page__header h1 {
	margin-block: .2rem .45rem;
}

.td-configurator-page__header p:last-child {
	max-width: 760px;
	margin-bottom: 0;
}

.td-configurator-page__body {
	padding-block: clamp(.85rem, 2vw, 1.5rem);
}

.td-configurator-frame {
	display: block;
	width: 100%;
	height: 620px;
	min-height: 0;
	border: 0;
	background: var(--td-blue-dark);
}

@media (max-width: 720px) {
	.td-configurator-cta {
		grid-template-columns: 1fr;
	}

	.td-configurator-cta__button {
		width: 100%;
	}
}

.td-about-intro__grid,
.td-about-commitments__grid,
.td-about-relation {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: start;
}

.td-about-intro__grid h2,
.td-about-relation h2,
.td-about-commitments__grid h2 {
	margin-bottom: 0;
}

.td-about-intro__text {
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	line-height: 1.75;
	margin: 0;
}

.td-about-card-grid,
.td-about-pillars {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.td-about-card,
.td-about-pillars article {
	background: var(--td-white);
	border: 1px solid var(--td-border);
	border-top: 3px solid var(--td-green);
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.td-about-card h3,
.td-about-pillars h3 {
	margin-block: .25rem .75rem;
}

.td-about-card p,
.td-about-pillars p {
	margin-bottom: 0;
}

.td-about-pillars article > span {
	color: var(--td-green-dark);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
}

.td-about-commitments {
	background: var(--td-blue-dark);
	color: var(--td-white);
}

.td-about-commitments :where(h2, li) {
	color: inherit;
}

.td-about-commitments ul {
	display: grid;
	gap: .85rem;
	margin: 0;
	padding-left: 1.25rem;
}

.td-about-relation aside {
	border-top: 3px solid var(--td-green);
	background: var(--td-blue-dark);
	color: var(--td-white);
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.td-about-relation aside h3,
.td-about-relation aside p {
	color: inherit;
}

.td-about-relation aside p {
	margin-bottom: 0;
}

.td-about-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.5rem;
}

.td-button--navy {
	background: var(--td-blue-dark);
	color: var(--td-white);
}

.td-button--navy:hover,
.td-button--navy:focus-visible {
	background: var(--td-green);
	color: var(--td-blue-dark);
}

@media (max-width: 820px) {
	.td-about-intro__grid,
	.td-about-commitments__grid,
	.td-about-relation,
	.td-about-card-grid,
	.td-about-pillars {
		grid-template-columns: 1fr;
	}

	.td-about-intro__grid,
	.td-about-commitments__grid,
	.td-about-relation {
		gap: 1.5rem;
	}
}

@media print {
	#wpadminbar,
	.td-site-header,
	.site-header,
	.td-site-footer,
	.site-footer,
	.td-related,
	.td-article-tools,
	.td-project-cta,
	.td-article-cta,
	.td-configurator-cta,
	.td-product-card__cta {
		display: none !important;
	}

	body,
	.td-template-page,
	.td-single__header {
		background: #fff !important;
		color: #000 !important;
	}

	.td-single__header {
		padding-block: 1rem;
	}

	.td-single__header :where(h1, p, a),
	.td-page-eyebrow {
		color: #000 !important;
	}

	.td-article-container {
		width: 100%;
		max-width: none;
	}

	a {
		text-decoration: underline;
	}

	h2, h3, figure, table, .td-product-card, .td-key-point {
		break-inside: avoid;
	}
}
