/*
Theme Name: TDR Start Site
Theme URI: https://tdrtech.com
Description: TDR Technologies child theme for GeneratePress. Provides the TDRTech consulting design system and accessibility-focused site styles.
Author: TDR Technologies
Author URI: https://tdrtech.com
Template: generatepress
Version: 2.4.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tdr-start-site
*/

:root {
	--tdr-black: #000000;
	--tdr-white: #ffffff;
	--tdr-purple: #6b46c1;
	--tdr-purple-dark: #55339f;
	--tdr-purple-light: #8b6bd1;
	--tdr-ink: #17151d;
	--tdr-muted: #625f69;
	--tdr-line: #dedbe4;
	--tdr-soft: #f6f4f8;
	--tdr-soft-purple: #f1edf9;
	--tdr-content: 1180px;
	--tdr-reading: 760px;
	--tdr-radius: 8px;
	--tdr-shadow: 0 18px 48px rgba(31, 22, 48, 0.08);
	--tdr-space-compact: clamp(48px, 6vw, 76px);
	--tdr-space-standard: clamp(68px, 8vw, 104px);
	--tdr-space-feature: clamp(80px, 9vw, 124px);
	--tdr-primary: var(--tdr-purple);
	--tdr-primary-dark: var(--tdr-purple-dark);
	--tdr-brand-purple: var(--tdr-purple);
	--tdr-neutral-dark: var(--tdr-ink);
	--tdr-neutral: var(--tdr-muted);
	--tdr-neutral-light: var(--tdr-soft);
}

html {
	scroll-behavior: smooth;
}

body {
	color: var(--tdr-ink);
	background: var(--tdr-white);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
	font-family: inherit;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--tdr-purple-dark);
	text-underline-offset: 0.18em;
	text-decoration-thickness: 0.08em;
}

a:hover {
	color: var(--tdr-purple);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--tdr-purple-light);
	outline-offset: 3px;
}

[id] {
	scroll-margin-top: 92px;
}

.site-content,
.content-area,
.site-main,
.inside-article,
.entry-content {
	margin: 0;
	padding: 0;
}

.site.grid-container,
.site-content.grid-container {
	max-width: none;
}

.content-area {
	width: 100%;
	float: none;
}

.widget-area {
	display: none;
}

.entry-header {
	display: none;
}

.entry-content > .alignfull,
.tdr-alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.tdr-shell {
	width: min(calc(100% - 40px), var(--tdr-content));
	margin-inline: auto;
}

.tdr-reading {
	max-width: var(--tdr-reading);
}

.tdr-section {
	padding-block: clamp(64px, 8vw, 112px);
}

.tdr-section--compact {
	padding-block: clamp(44px, 6vw, 72px);
}

.tdr-section--soft {
	background: var(--tdr-soft);
}

.tdr-section--purple-soft {
	background: var(--tdr-soft-purple);
}

.tdr-section--dark {
	background: var(--tdr-black);
	color: rgba(255, 255, 255, 0.78);
}

.tdr-section--dark h1,
.tdr-section--dark h2,
.tdr-section--dark h3,
.tdr-section--dark strong {
	color: var(--tdr-white);
}

.tdr-page .tdr-section--dark h1,
.tdr-page .tdr-section--dark h2,
.tdr-page .tdr-section--dark > .tdr-shell > h3 {
	color: var(--tdr-white);
}

.tdr-kicker,
.tdr-eyebrow {
	margin: 0 0 1rem;
	color: var(--tdr-purple);
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.16em;
	line-height: 1.4;
	text-transform: uppercase;
}

.tdr-section--dark .tdr-kicker,
.tdr-section--dark .tdr-eyebrow {
	color: #b7a2e6;
}

.tdr-display,
.tdr-page h1,
.tdr-page h2,
.tdr-page h3 {
	color: var(--tdr-ink);
	font-weight: 720;
	letter-spacing: -0.025em;
}

.tdr-page h1 {
	max-width: 900px;
	margin: 0;
	font-size: clamp(2.55rem, 7vw, 5.75rem);
	line-height: 0.99;
}

.tdr-page h2 {
	margin: 0;
	font-size: clamp(2rem, 4.2vw, 3.65rem);
	line-height: 1.06;
}

.tdr-page h3 {
	margin: 0;
	font-size: clamp(1.18rem, 2vw, 1.45rem);
	line-height: 1.25;
}

.tdr-lead {
	max-width: 760px;
	margin: 1.5rem 0 0;
	color: var(--tdr-muted);
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	line-height: 1.62;
}

.tdr-section--dark .tdr-lead {
	color: rgba(255, 255, 255, 0.72);
}

.tdr-copy {
	color: var(--tdr-muted);
	font-size: 1.06rem;
	line-height: 1.78;
}

.tdr-copy p {
	margin: 0 0 1.25rem;
}

.tdr-copy p:last-child {
	margin-bottom: 0;
}

.tdr-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 2rem;
}

.tdr-button,
.wp-block-button.tdr-btn-primary .wp-block-button__link,
.wp-block-button.tdr-btn-ghost .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.78rem 1.25rem;
	border: 2px solid var(--tdr-purple);
	border-radius: var(--tdr-radius);
	background: var(--tdr-purple);
	color: var(--tdr-white);
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.tdr-button:hover,
.wp-block-button.tdr-btn-primary .wp-block-button__link:hover {
	border-color: var(--tdr-purple-dark);
	background: var(--tdr-purple-dark);
	color: var(--tdr-white);
}

.tdr-button--secondary {
	border-color: var(--tdr-line);
	background: transparent;
	color: var(--tdr-ink);
}

.tdr-section--dark .tdr-button--secondary {
	border-color: rgba(255, 255, 255, 0.72);
	background: rgba(255, 255, 255, 0.04);
	color: var(--tdr-white);
}

.tdr-hero .tdr-button--secondary {
	border-color: rgba(255, 255, 255, 0.72);
	background: rgba(255, 255, 255, 0.04);
	color: var(--tdr-white);
}

.tdr-button--secondary:hover {
	border-color: var(--tdr-purple);
	background: var(--tdr-soft-purple);
	color: var(--tdr-purple-dark);
}

.tdr-hero .tdr-button--secondary:hover,
.tdr-section--dark .tdr-button--secondary:hover {
	border-color: var(--tdr-white);
	background: var(--tdr-white);
	color: var(--tdr-black);
}

.tdr-hero {
	position: relative;
	overflow: hidden;
	background: var(--tdr-black);
	color: var(--tdr-white);
}

.tdr-hero::before,
.tdr-hero::after {
	display: none;
	content: none;
}

.tdr-hero .tdr-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(310px, 0.55fr);
	gap: clamp(40px, 7vw, 96px);
	align-items: center;
	min-height: clamp(620px, 82vh, 860px);
	padding-block: clamp(96px, 12vw, 156px) clamp(72px, 9vw, 112px);
}

.tdr-hero h1 {
	color: var(--tdr-white);
}

.tdr-hero .tdr-lead {
	color: rgba(255, 255, 255, 0.74);
}

.tdr-hero-aside {
	border-top: 2px solid var(--tdr-purple);
	margin: 1.25rem 0 0;
	padding-top: 1rem;
	color: rgba(255, 255, 255, 0.78);
	font-size: 1rem;
	line-height: 1.65;
}

.tdr-hero-side {
	width: 100%;
	max-width: 430px;
	justify-self: end;
}

.tdr-particle-network {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: clamp(320px, 31vw, 430px);
	pointer-events: none;
}

.tdr-particle-network canvas {
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0.9;
	pointer-events: none;
}

.tdr-trust {
	border-bottom: 1px solid var(--tdr-line);
	background: var(--tdr-white);
}

.tdr-trust .tdr-shell {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(14px, 2vw, 28px);
	padding-block: clamp(30px, 4vw, 48px);
}

.tdr-trust-item {
	min-height: 126px;
	padding: 1.4rem 1.25rem 1.3rem;
	border-top: 3px solid var(--tdr-purple);
	background: var(--tdr-soft);
}

.tdr-trust-item > span {
	display: block;
	margin-bottom: 1rem;
	color: var(--tdr-purple);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.13em;
}

.tdr-trust-item strong,
.tdr-trust-item small {
	display: block;
}

.tdr-trust-item strong {
	color: var(--tdr-ink);
	font-size: 1rem;
	line-height: 1.3;
}

.tdr-trust-item small {
	margin-top: 0.45rem;
	color: var(--tdr-muted);
	font-size: 0.86rem;
	line-height: 1.45;
}

.tdr-split {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
	gap: clamp(40px, 8vw, 110px);
	align-items: start;
}

.tdr-grid {
	display: grid;
	gap: 1px;
	margin-top: clamp(36px, 6vw, 64px);
	border: 1px solid var(--tdr-line);
	background: var(--tdr-line);
}

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

.tdr-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.tdr-home .tdr-section {
	padding-block: clamp(82px, 9vw, 132px);
}

.tdr-problem-section {
	background: var(--tdr-white);
}

.tdr-decision-path {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: clamp(48px, 7vw, 78px) 0 0;
	padding: 0;
	border: 1px solid var(--tdr-line);
	background: var(--tdr-ink);
	list-style: none;
}

.tdr-decision-path li {
	position: relative;
	min-height: 190px;
	padding: clamp(24px, 3vw, 36px);
	background: var(--tdr-white);
}

.tdr-decision-path li + li {
	border-left: 1px solid var(--tdr-line);
}

.tdr-decision-path li:not(:last-child)::after {
	position: absolute;
	z-index: 2;
	top: 50%;
	right: -14px;
	display: grid;
	width: 28px;
	height: 28px;
	border: 1px solid var(--tdr-purple-light);
	border-radius: 50%;
	background: var(--tdr-purple);
	color: var(--tdr-white);
	content: "→";
	font-size: 0.9rem;
	place-items: center;
	transform: translateY(-50%);
}

.tdr-decision-path span,
.tdr-decision-path strong,
.tdr-decision-path small {
	display: block;
}

.tdr-decision-path span {
	margin-bottom: 2rem;
	color: var(--tdr-purple);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.tdr-decision-path strong {
	color: var(--tdr-ink);
	font-size: 1.08rem;
	line-height: 1.3;
}

.tdr-decision-path small {
	margin-top: 0.7rem;
	color: var(--tdr-muted);
	font-size: 0.9rem;
	line-height: 1.55;
}

.tdr-card {
	position: relative;
	padding: clamp(26px, 4vw, 42px);
	background: var(--tdr-white);
}

.tdr-card p {
	margin: 1rem 0 0;
	color: var(--tdr-muted);
	line-height: 1.7;
}

.tdr-card a {
	display: inline-block;
	margin-top: 1.25rem;
	font-weight: 700;
}

.tdr-card-number {
	display: block;
	margin-bottom: 2.5rem;
	color: var(--tdr-purple);
	font-size: 0.82rem;
	font-weight: 750;
	letter-spacing: 0.12em;
}

.tdr-home-services .tdr-card {
	min-height: 330px;
	padding-top: clamp(34px, 4vw, 48px);
}

.tdr-home-services .tdr-card-number {
	margin-bottom: 2rem;
}

.tdr-service-symbol {
	position: absolute;
	top: clamp(28px, 4vw, 40px);
	right: clamp(26px, 4vw, 40px);
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0.25rem 0.55rem;
	border: 1px solid var(--tdr-purple-light);
	border-radius: 3px;
	color: var(--tdr-purple-dark);
	font-size: 0.69rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tdr-home-services .tdr-card a {
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

.tdr-process {
	counter-reset: process;
}

.tdr-process .tdr-card {
	counter-increment: process;
}

.tdr-process .tdr-card::before {
	content: "0" counter(process);
	display: block;
	margin-bottom: 2.5rem;
	color: var(--tdr-purple);
	font-size: 0.82rem;
	font-weight: 750;
	letter-spacing: 0.12em;
}

.tdr-home-process .tdr-grid {
	gap: 14px;
	border: 0;
	background: transparent;
}

.tdr-home-process .tdr-card {
	min-height: 300px;
	border: 1px solid var(--tdr-line);
	border-top: 3px solid var(--tdr-purple);
}

.tdr-home-process .tdr-card h3 {
	font-size: 1.3rem;
}

.tdr-home-process .tdr-card p {
	font-size: 0.98rem;
}

.tdr-home-why {
	border-top: 1px solid rgba(139, 107, 209, 0.32);
}

.tdr-home-why > .tdr-shell > h2,
.tdr-final-cta h2 {
	color: var(--tdr-white);
}

.tdr-home-why > .tdr-shell > h2 {
	max-width: 900px;
}

.tdr-home-why .tdr-grid {
	gap: 14px;
	border: 0;
	background: transparent;
}

.tdr-home-why .tdr-card {
	border-top: 3px solid var(--tdr-purple);
}

.tdr-home-focus .tdr-split {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
}

.tdr-home-focus .tdr-copy {
	max-width: 640px;
}

.tdr-home-founder .tdr-founder {
	align-items: center;
}

.tdr-home-ventures {
	border-top: 1px solid var(--tdr-line);
}

.tdr-final-cta {
	border-top: 1px solid rgba(139, 107, 209, 0.34);
	border-bottom: 1px solid rgba(139, 107, 209, 0.28);
}

.tdr-final-cta .tdr-lead {
	color: rgba(255, 255, 255, 0.8);
}

.tdr-feature-list {
	display: grid;
	gap: 0;
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--tdr-line);
}

.tdr-feature-list li {
	position: relative;
	margin: 0;
	padding: 0.9rem 0 0.9rem 1.6rem;
	border-bottom: 1px solid var(--tdr-line);
	color: var(--tdr-muted);
	line-height: 1.55;
}

.tdr-feature-list li::before {
	position: absolute;
	top: 0.9rem;
	left: 0;
	color: var(--tdr-purple);
	content: "—";
	font-weight: 800;
}

.tdr-service-detail {
	border-top: 1px solid var(--tdr-line);
}

.tdr-service-detail:first-of-type {
	border-top: 0;
}

.tdr-service-detail .tdr-shell {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
	gap: clamp(38px, 8vw, 108px);
}

.tdr-callout {
	padding: clamp(32px, 5vw, 56px);
	border-left: 4px solid var(--tdr-purple);
	background: var(--tdr-soft-purple);
}

.tdr-callout p {
	margin: 1rem 0 0;
	color: var(--tdr-muted);
	line-height: 1.72;
}

.tdr-founder {
	display: grid;
	grid-template-columns: minmax(230px, 0.42fr) minmax(0, 1fr);
	gap: clamp(36px, 7vw, 86px);
	align-items: center;
}

.tdr-founder-image {
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border-radius: var(--tdr-radius);
	background: var(--tdr-soft);
}

.tdr-founder-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tdr-venture {
	border-top: 3px solid var(--tdr-purple);
}

.tdr-venture--syw {
	border-top-color: #0d9488;
}

.tdr-venture--wfi {
	border-top-color: #15803d;
}

.tdr-venture--ca {
	border-top-color: #b45309;
}

.tdr-page-hero {
	background: var(--tdr-black);
	color: var(--tdr-white);
}

.tdr-page-hero .tdr-shell {
	padding-block: clamp(88px, 11vw, 140px);
}

.tdr-page-hero h1 {
	max-width: 980px;
	color: var(--tdr-white);
	font-size: clamp(2.4rem, 6vw, 4.8rem);
}

.tdr-page-hero .tdr-lead {
	color: rgba(255, 255, 255, 0.72);
}

/* GeneratePress exposes some full-width internal pages as right-sidebar,
   separate-container layouts even though the sidebar is hidden. Neutralize
   those wrappers only when the approved TDR full-width wrapper is present. */
body.right-sidebar:has(.tdr-alignfull) .content-area {
	width: 100%;
}

body.right-sidebar.separate-containers:has(.tdr-alignfull) .site-main {
	margin: 0;
}

body.right-sidebar.separate-containers:has(.tdr-alignfull) .inside-article {
	padding: 0;
}

body.right-sidebar:has(.tdr-alignfull) .entry-content {
	margin: 0;
}

body.right-sidebar:has(.tdr-alignfull) .tdr-page {
	margin-bottom: 0;
}

.tdr-services-hero .tdr-shell {
	padding-block: var(--tdr-space-feature);
}

.tdr-services-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 0.62fr);
	gap: clamp(48px, 8vw, 112px);
	align-items: center;
}

.tdr-services-hero h1 {
	max-width: 760px;
	font-size: clamp(2.8rem, 5.6vw, 4.9rem);
}

.tdr-services-hero .tdr-lead {
	max-width: 690px;
}

.tdr-services-map {
	position: relative;
	aspect-ratio: 1 / 0.86;
	border: 1px solid rgba(139, 107, 209, 0.48);
	border-radius: var(--tdr-radius);
	background: #09080c;
	box-shadow: inset 0 0 44px rgba(107, 70, 193, 0.1);
}

.tdr-services-map svg {
	position: absolute;
	inset: 8%;
	width: 84%;
	height: 84%;
}

.tdr-services-map path,
.tdr-services-map circle {
	fill: none;
	stroke: rgba(139, 107, 209, 0.65);
	stroke-width: 2;
	vector-effect: non-scaling-stroke;
}

.tdr-services-map path {
	stroke-dasharray: 5 7;
}

.tdr-services-map-center,
.tdr-services-map-node {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(139, 107, 209, 0.52);
	border-radius: 4px;
	text-align: center;
}

.tdr-services-map-center {
	top: 50%;
	left: 50%;
	flex-direction: column;
	width: 144px;
	height: 90px;
	background: var(--tdr-purple);
	box-shadow: 0 0 34px rgba(107, 70, 193, 0.34);
	color: var(--tdr-white);
	font-size: 1rem;
	font-weight: 750;
	transform: translate(-50%, -50%);
}

.tdr-services-map-center small {
	margin-bottom: 0.2rem;
	font-size: 0.65rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tdr-services-map-node {
	min-width: 118px;
	min-height: 44px;
	padding: 0.45rem 0.65rem;
	background: rgba(12, 10, 17, 0.94);
	color: rgba(255, 255, 255, 0.84);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.2;
}

.tdr-services-map-node b {
	margin-right: 0.4rem;
	color: var(--tdr-purple-light);
	font-size: 0.66rem;
	letter-spacing: 0.08em;
}

.tdr-services-map-node--one {
	top: 8%;
	left: 5%;
}

.tdr-services-map-node--two {
	top: 8%;
	right: 5%;
}

.tdr-services-map-node--three {
	bottom: 8%;
	left: 5%;
}

.tdr-services-map-node--four {
	right: 5%;
	bottom: 8%;
}

.tdr-services-detail {
	position: relative;
	overflow: hidden;
	padding-block: var(--tdr-space-standard);
	border-top: 0;
}

.tdr-services-detail::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: clamp(8px, 1vw, 14px);
	background: var(--tdr-purple);
	content: "";
}

.tdr-services-detail .tdr-shell {
	grid-template-columns: minmax(270px, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(52px, 8vw, 112px);
}

.tdr-service-heading {
	padding-top: 0.2rem;
}

.tdr-service-label {
	display: inline-flex;
	min-height: 30px;
	margin-bottom: 1.25rem;
	padding: 0.25rem 0.65rem;
	border: 1px solid var(--tdr-purple-light);
	border-radius: 3px;
	color: var(--tdr-purple-dark);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.tdr-services-detail .tdr-copy {
	max-width: 760px;
}

.tdr-services-detail .tdr-feature-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem 1.5rem;
	margin-top: 1.5rem;
	border-top: 0;
}

.tdr-services-detail .tdr-feature-list li {
	padding: 0 0 0 1.3rem;
	border-bottom: 0;
	color: var(--tdr-ink);
	font-size: 1rem;
	line-height: 1.55;
}

.tdr-services-detail .tdr-feature-list li::before {
	top: 0.62rem;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--tdr-purple);
	content: "";
}

.tdr-services-detail .tdr-buttons {
	margin-top: 1.65rem;
}

.tdr-services-detail .tdr-button {
	min-height: 50px;
	padding-inline: 1.35rem;
	border-color: var(--tdr-purple);
	font-size: 0.98rem;
}

.tdr-services-detail .tdr-button--secondary:hover {
	border-color: var(--tdr-purple-dark);
	background: var(--tdr-purple);
	color: var(--tdr-white);
}

.tdr-service--automation {
	background: #f2eff6;
}

.tdr-service--automation::before {
	background: var(--tdr-purple-dark);
}

.tdr-service--assistants {
	background: #17151d;
}

.tdr-service--assistants::before {
	background: var(--tdr-purple-light);
}

.tdr-service--assistants .tdr-service-label {
	border-color: rgba(183, 162, 230, 0.72);
	color: #d4c5f1;
}

.tdr-service--assistants .tdr-copy,
.tdr-service--assistants .tdr-feature-list li {
	color: rgba(255, 255, 255, 0.78);
}

.tdr-service--assistants .tdr-feature-list li::before {
	background: #b7a2e6;
}

.tdr-service--assistants .tdr-button--secondary:hover {
	border-color: var(--tdr-white);
	background: var(--tdr-white);
	color: var(--tdr-black);
}

.tdr-service--websites {
	background: var(--tdr-soft-purple);
}

.tdr-service--websites::before {
	background: #4f2d99;
}

.tdr-services-adoption {
	padding-block: var(--tdr-space-standard);
	border-top: 1px solid rgba(139, 107, 209, 0.42);
	background: #0d0915;
}

.tdr-services-adoption .tdr-split {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	align-items: center;
}

.tdr-services-adoption .tdr-copy {
	color: rgba(255, 255, 255, 0.78);
}

.tdr-responsible-principles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem;
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
}

.tdr-responsible-principles li {
	padding: 0.85rem 1rem;
	border-left: 3px solid var(--tdr-purple-light);
	background: rgba(255, 255, 255, 0.07);
	color: var(--tdr-white);
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.35;
}

.tdr-services-process {
	padding-block: var(--tdr-space-compact);
	background: var(--tdr-purple);
}

.tdr-services-process .tdr-callout {
	padding: 0;
	border-left: 0;
	background: transparent;
	color: var(--tdr-white);
}

.tdr-services-process .tdr-kicker {
	color: #e1d7f5;
}

.tdr-services-process h2 {
	max-width: 980px;
	color: var(--tdr-white);
}

.tdr-services-process .tdr-callout > p:not(.tdr-kicker) {
	max-width: 900px;
	color: rgba(255, 255, 255, 0.82);
}

.tdr-services-process-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	margin: 2.25rem 0 0;
	padding: 1px;
	background: rgba(255, 255, 255, 0.28);
	list-style: none;
}

.tdr-services-process-steps li {
	padding: 1.25rem;
	background: rgba(58, 34, 108, 0.88);
}

.tdr-services-process-steps span,
.tdr-services-process-steps strong {
	display: block;
}

.tdr-services-process-steps span {
	margin-bottom: 0.8rem;
	color: #d9cdf1;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.tdr-services-process-steps strong {
	color: var(--tdr-white);
	font-size: 1.05rem;
}

.tdr-services-final {
	padding-block: var(--tdr-space-standard);
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	border-bottom: 1px solid rgba(139, 107, 209, 0.3);
}

.tdr-services-final h2 {
	color: var(--tdr-white);
}

.tdr-services-final .tdr-split {
	align-items: center;
}

.tdr-contact-hero .tdr-shell {
	padding-block: var(--tdr-space-standard);
}

.tdr-contact-hero h1 {
	max-width: 880px;
}

.tdr-contact-hero .tdr-lead {
	max-width: 720px;
}

.tdr-contact-main {
	padding-block: var(--tdr-space-standard);
}

.tdr-contact-main .tdr-form-layout {
	grid-template-columns: minmax(0, 1.32fr) minmax(300px, 0.68fr);
	gap: clamp(48px, 7vw, 92px);
}

.tdr-contact-main .tdr-form-panel {
	margin-top: 2rem;
}

.tdr-contact-guidance .tdr-callout {
	padding: clamp(28px, 3vw, 40px);
}

.tdr-contact-guidance .tdr-feature-list {
	margin-top: 1.5rem;
}

.tdr-contact-guidance-copy {
	margin-top: 2rem;
}

.tdr-contact-guidance-copy h3 {
	margin-top: 2rem;
}

.tdr-contact-guidance-copy h3:first-child {
	margin-top: 0;
}

.tdr-form-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(250px, 0.75fr);
	gap: clamp(36px, 7vw, 84px);
	align-items: start;
}

.tdr-form-panel {
	padding: clamp(26px, 4vw, 44px);
	border: 1px solid var(--tdr-line);
	border-radius: var(--tdr-radius);
	background: var(--tdr-white);
	box-shadow: var(--tdr-shadow);
}

.tdr-form-panel .ff-el-group {
	margin-bottom: 1.25rem;
}

.tdr-form-panel label {
	display: inline-block;
	margin-bottom: 0.45rem;
	color: var(--tdr-ink);
	font-weight: 700;
}

.tdr-form-panel .ff-el-form-control {
	width: 100%;
	min-height: 48px;
	padding: 0.72rem 0.82rem;
	border: 1px solid #b9b5c0;
	border-radius: 5px;
	background: var(--tdr-white);
	color: var(--tdr-ink);
	font-size: 1rem;
}

.tdr-form-panel textarea.ff-el-form-control {
	min-height: 150px;
	resize: vertical;
}

.tdr-form-panel .ff-el-form-control:focus {
	border-color: var(--tdr-purple);
	outline: 3px solid rgba(107, 70, 193, 0.22);
	outline-offset: 1px;
}

.tdr-form-panel .ff-btn-submit:not(.ff_btn_no_style) {
	min-height: 48px;
	padding: 0.78rem 1.25rem;
	border: 2px solid var(--tdr-purple) !important;
	border-radius: var(--tdr-radius) !important;
	background: var(--tdr-purple) !important;
	color: var(--tdr-white) !important;
	font-weight: 700;
}

.tdr-form-panel .ff-btn-submit:not(.ff_btn_no_style):hover {
	border-color: var(--tdr-purple-dark) !important;
	background: var(--tdr-purple-dark) !important;
}

.tdr-form-panel .error,
.tdr-form-panel .text-danger,
.tdr-form-panel .ff-el-is-error .ff-el-form-check-label {
	color: #a61b1b;
}

.tdr-privacy-note {
	margin-top: 1.25rem;
	color: var(--tdr-muted);
	font-size: 0.9rem;
	line-height: 1.6;
}

.tdr-legal {
	max-width: 820px;
	margin-inline: auto;
	color: var(--tdr-muted);
	font-size: 1.03rem;
	line-height: 1.78;
}

.tdr-legal h2 {
	margin: 2.6rem 0 0.85rem;
	font-size: clamp(1.45rem, 3vw, 2rem);
}

.tdr-legal p {
	margin: 0 0 1.15rem;
}

.tdr-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	border-bottom: 0;
	background: var(--tdr-black);
}

.admin-bar .tdr-header {
	top: 32px;
}

.tdr-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 88px;
	gap: 1.5rem;
}

.tdr-brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}

.tdr-brand img,
.tdr-logo img {
	display: block;
	width: auto;
	height: 50px;
}

.tdr-nav {
	display: flex;
	align-items: center;
	gap: clamp(0.9rem, 2vw, 1.6rem);
}

.tdr-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	color: rgba(255, 255, 255, 0.86);
	font-size: 1rem;
	font-weight: 650;
	text-decoration: none;
}

.tdr-nav a:hover {
	color: var(--tdr-white);
}

.tdr-nav .tdr-nav-cta {
	min-height: 50px;
	padding-inline: 1.25rem;
	border: 1px solid var(--tdr-purple-light);
	border-radius: 6px;
	background: var(--tdr-purple);
	color: var(--tdr-white);
}

.tdr-nav .tdr-nav-cta:hover {
	border-color: var(--tdr-white);
	background: var(--tdr-purple-dark);
}

.tdr-mobile-nav {
	display: none;
	color: var(--tdr-white);
}

.tdr-mobile-nav summary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 48px;
	padding: 0.5rem 0.8rem;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 5px;
	cursor: pointer;
	font-weight: 700;
	list-style: none;
}

.tdr-mobile-nav summary::-webkit-details-marker {
	display: none;
}

.tdr-mobile-nav[open] {
	padding-bottom: 1rem;
}

.tdr-mobile-nav nav {
	position: absolute;
	top: 88px;
	right: 0;
	left: 0;
	display: grid;
	padding: 0.75rem 20px 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	background: var(--tdr-black);
	box-shadow: 0 16px 28px rgba(0, 0, 0, 0.3);
}

.tdr-mobile-nav a {
	display: flex;
	align-items: center;
	min-height: 48px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.11);
	color: var(--tdr-white);
	font-weight: 650;
	text-decoration: none;
}

.tdr-footer {
	padding-block: 54px 32px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	background: #111114;
	color: rgba(255, 255, 255, 0.68);
}

.tdr-footer-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: start;
}

.tdr-footer-tagline {
	max-width: 520px;
	margin: 0;
	color: var(--tdr-white);
	font-size: clamp(1.25rem, 2.5vw, 1.7rem);
	font-weight: 680;
	line-height: 1.3;
}

.tdr-footer-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.5rem 1.25rem;
}

.tdr-footer a {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.94rem;
}

.tdr-footer a:hover {
	color: var(--tdr-white);
}

.tdr-footer-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	margin-top: 38px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, 0.13);
	font-size: 0.86rem;
}

@media (max-width: 900px) {
	.admin-bar .tdr-header {
		top: 46px;
	}

	.tdr-hero .tdr-shell,
	.tdr-split,
	.tdr-service-detail .tdr-shell,
	.tdr-founder,
	.tdr-form-layout {
		grid-template-columns: 1fr;
	}

	.tdr-hero .tdr-shell {
		min-height: auto;
	}

	.tdr-hero-aside {
		max-width: 640px;
	}

	.tdr-hero-side {
		max-width: 520px;
		justify-self: start;
	}

	.tdr-home-focus .tdr-split {
		grid-template-columns: 1fr;
	}

	.tdr-services-hero-grid,
	.tdr-services-detail .tdr-shell,
	.tdr-services-adoption .tdr-split {
		grid-template-columns: 1fr;
	}

	.tdr-services-map {
		width: min(100%, 520px);
	}

	.tdr-services-detail .tdr-feature-list,
	.tdr-responsible-principles {
		grid-template-columns: 1fr;
	}

	.tdr-services-process-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tdr-contact-main .tdr-form-layout {
		grid-template-columns: 1fr;
	}

	.tdr-particle-network {
		width: min(100%, 520px);
		height: clamp(250px, 42vw, 360px);
	}

	.tdr-decision-path {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tdr-decision-path li:nth-child(3) {
		border-left: 0;
		border-top: 1px solid var(--tdr-line);
	}

	.tdr-decision-path li:nth-child(4) {
		border-top: 1px solid var(--tdr-line);
	}

	.tdr-decision-path li:nth-child(2)::after {
		display: none;
	}

	.tdr-grid--4,
	.tdr-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tdr-desktop-nav {
		display: none;
	}

	.tdr-mobile-nav {
		display: block;
	}
}

@media (max-width: 700px) {
	.tdr-shell {
		width: min(calc(100% - 32px), var(--tdr-content));
	}

	.tdr-page h1 {
		font-size: clamp(2.35rem, 13vw, 4.1rem);
	}

	.tdr-grid--4,
	.tdr-grid--3,
	.tdr-grid--2 {
		grid-template-columns: 1fr;
	}

	.tdr-home .tdr-section {
		padding-block: clamp(68px, 18vw, 92px);
	}

	.tdr-particle-network {
		height: 220px;
	}

	.tdr-decision-path {
		grid-template-columns: 1fr;
	}

	.tdr-decision-path li {
		min-height: auto;
	}

	.tdr-decision-path li + li,
	.tdr-decision-path li:nth-child(3),
	.tdr-decision-path li:nth-child(4) {
		border-top: 1px solid var(--tdr-line);
		border-left: 0;
	}

	.tdr-decision-path li:not(:last-child)::after {
		top: auto;
		right: 50%;
		bottom: -14px;
		content: "↓";
		transform: translateX(50%);
	}

	.tdr-decision-path li:nth-child(2)::after {
		display: grid;
	}

	.tdr-home-services .tdr-card,
	.tdr-home-process .tdr-card {
		min-height: auto;
	}

	.tdr-trust .tdr-shell {
		grid-template-columns: repeat(2, 1fr);
	}

	.tdr-home-focus .tdr-split {
		grid-template-columns: 1fr;
	}

	.tdr-services-hero .tdr-shell {
		padding-block: var(--tdr-space-standard);
	}

	.tdr-services-detail {
		padding-block: var(--tdr-space-compact);
	}

	.tdr-services-map-node {
		min-width: 92px;
		padding-inline: 0.45rem;
		font-size: 0.64rem;
	}

	.tdr-services-map-center {
		width: 122px;
		height: 78px;
		font-size: 0.9rem;
	}

	.tdr-services-process-steps {
		grid-template-columns: 1fr;
	}

	.tdr-footer-grid {
		grid-template-columns: 1fr;
	}

	.tdr-footer-nav {
		justify-content: flex-start;
	}
}

@media (max-width: 380px) {
	.tdr-shell {
		width: min(calc(100% - 24px), var(--tdr-content));
	}

	.tdr-trust .tdr-shell {
		grid-template-columns: 1fr;
	}

	.tdr-brand img,
	.tdr-logo img {
		height: 44px;
	}

	.tdr-buttons {
		display: grid;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}