/**
 * Techdiva — design tokens & global styles
 * Source: Figma TDM-Updated-6.17.26
 */

:root {
	--td-black: #000000;
	--td-white: #ffffff;
	--td-body: #000000;
	--td-muted: rgba(0, 0, 0, 0.7);
	--td-eyebrow: rgba(0, 0, 0, 0.55);
	--td-font-serif: "Cormorant Garamond", "Times New Roman", serif;
	--td-font-display: "Prata", "Times New Roman", serif;
	--td-font-nav: "Proxima Nova", "Source Sans 3", "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--td-font-sans: "Source Sans 3", "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--td-header-bg: #000000;
	--td-header-text: #ffffff;
	--td-header-width: 464px;
	--td-header-bar-height: 176px;
	--td-header-block-height: 92px;
	--td-logo-size: 35.712px;
	--td-logo-tracking: 1.7856px;
	--td-logo-pipe-size: 47.753px;
	--td-logo-pipe-tracking: 2.3876px;
	--td-heading-xl: 80.906px;
	--td-heading-lg: 83.48px;
	--td-heading-md: 60px;
	--td-body-lg: 22px;
	--td-body-md: 18px;
	--td-body-sm: 13.535px;
	--td-nav-size: 13.535px;
	--td-nav-tracking: 0.6768px;
	--td-btn-height: 88px;
	--td-btn-width: 273px;
	--td-container: 1920px;
	--td-section-pad: 80px;
}

/* Google fonts loaded via functions.php */

body {
	font-family: var(--td-font-sans);
	color: var(--td-body);
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

html {
	overflow-x: clip;
}

.td-font-serif {
	font-family: var(--td-font-serif);
}

.td-font-display {
	font-family: var(--td-font-display);
}

.td-font-sans {
	font-family: var(--td-font-sans);
}

html {
	scroll-padding-top: var(--td-header-bar-height);
}

/* Header nav: don't use Elementor full-width stretch dropdown (breaks layout). */
.td-header .elementor-nav-menu--stretch .elementor-nav-menu--dropdown {
	position: absolute !important;
	width: 100% !important;
	left: 0 !important;
	right: auto !important;
	transform: none !important;
}

.td-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.td-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
	font-weight: 500;
}

/* Header — Figma node 21:180 (464×92 block, 176px bar, #000 / #fff) */
.elementor-location-header,
.elementor-location-header .elementor-section {
	width: 100%;
}

.td-header {
	background: var(--td-header-bg) !important;
	min-height: var(--td-header-bar-height) !important;
}

.td-header > .elementor-container {
	max-width: 100% !important;
	width: 100%;
	min-height: var(--td-header-bar-height);
	justify-content: center;
	align-items: center;
}

.td-header .elementor-column {
	width: 100% !important;
	max-width: 100%;
}

.td-header .elementor-widget-wrap {
	gap: 0;
	align-items: center;
	justify-content: center;
}

.td-header .elementor-element-populated {
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: var(--td-header-bar-height);
}

.td-header .elementor-widget-html {
	margin: 0 !important;
	width: 100%;
	max-width: var(--td-header-width);
}

.td-header .elementor-widget-nav-menu {
	margin: 0 !important;
	width: auto;
	max-width: none;
}

.td-header .elementor-widget-html .elementor-widget-container,
.td-header .elementor-widget-nav-menu .elementor-widget-container {
	text-align: center;
	width: 100%;
	display: flex;
	justify-content: center;
}

.td-header__stack {
	width: 100%;
	max-width: var(--td-header-width);
	margin: 0 auto;
	text-align: center;
}

.td-header__logo {
	margin: 0;
	padding: 0;
	display: inline-flex;
	align-items: flex-end;
	justify-content: center;
	color: var(--td-header-text);
	text-transform: uppercase;
	text-shadow: none !important;
	filter: none !important;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: auto;
}

.td-header__logo-word {
	font-family: var(--td-font-display);
	font-size: var(--td-logo-size);
	font-weight: 400;
	letter-spacing: var(--td-logo-tracking);
	line-height: var(--td-logo-size);
	text-shadow: none !important;
	filter: none !important;
}

.td-header__logo-pipe {
	font-family: var(--td-font-display);
	font-size: var(--td-logo-pipe-size);
	font-weight: 400;
	letter-spacing: var(--td-logo-pipe-tracking);
	line-height: var(--td-logo-pipe-size);
	align-self: flex-start;
	margin: 0 0.12em;
	position: relative;
	top: -11px;
	text-shadow: none !important;
	filter: none !important;
}

.td-header .elementor-widget-html .elementor-widget-container {
	text-shadow: none !important;
}

.td-header .elementor-widget-nav-menu {
	margin-top: 6px !important;
}

.td-header .elementor-nav-menu--main {
	margin: 0 auto;
	width: auto;
}

.td-header .elementor-nav-menu--layout-horizontal .elementor-nav-menu {
	display: inline-flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	width: auto;
	max-width: var(--td-header-width);
	margin: 0 auto;
	padding: 0;
	gap: 0;
	white-space: nowrap;
}

.td-header .elementor-nav-menu--main .elementor-item {
	font-family: var(--td-font-nav) !important;
	font-size: var(--td-nav-size) !important;
	font-weight: 400 !important;
	letter-spacing: var(--td-nav-tracking) !important;
	text-transform: uppercase !important;
	color: var(--td-header-text) !important;
	padding: 0 12px;
	line-height: var(--td-nav-size) !important;
}

.td-header .elementor-nav-menu--main .elementor-item:hover,
.td-header .elementor-nav-menu--main .elementor-item.elementor-item-active {
	color: var(--td-header-text) !important;
	opacity: 0.75;
}

.td-header .elementor-menu-toggle {
	color: var(--td-header-text) !important;
	border-color: var(--td-header-text);
}

.td-header .elementor-nav-menu--dropdown {
	background: var(--td-header-bg) !important;
}

.td-header .elementor-nav-menu--dropdown .elementor-item {
	color: var(--td-header-text) !important;
	font-family: var(--td-font-nav) !important;
	font-size: var(--td-nav-size) !important;
	letter-spacing: var(--td-nav-tracking) !important;
	text-transform: uppercase !important;
}

.td-header .elementor-nav-menu--dropdown .elementor-item:hover,
.td-header .elementor-nav-menu--dropdown .elementor-item:focus {
	background: rgba(255, 255, 255, 0.08) !important;
}

/* Footer */
.td-footer {
	background: var(--td-black);
	color: var(--td-white);
	text-align: center;
}

.td-footer .td-header__inner,
.td-footer .td-header__brand {
	justify-content: center;
}

.td-footer__brand .td-header__brand-word {
	font-size: 26.703px;
	letter-spacing: 1.3351px;
	line-height: 26.703px;
}

.td-footer__brand .td-header__brand-pipe {
	font-size: 47.753px;
	letter-spacing: 2.3876px;
}

.td-footer__logo {
	font-family: var(--td-font-display);
	font-size: 26.703px;
	letter-spacing: 1.3351px;
	text-transform: uppercase;
	color: var(--td-white);
}

.td-footer__copyright {
	font-family: var(--td-font-sans);
	font-size: 12px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--td-white);
	opacity: 0.85;
}

/* Typography helpers */
.td-eyebrow {
	font-family: var(--td-font-sans);
	font-size: 18px;
	letter-spacing: 1.0728px;
	text-transform: uppercase;
}

.td-eyebrow .td-diamond {
	font-size: 10px;
}

.td-heading-hero {
	font-family: var(--td-font-serif);
	font-size: clamp(42px, 5vw, 80.906px);
	line-height: 1.05;
	letter-spacing: -1px;
	text-transform: capitalize;
	font-weight: 400;
}

.td-heading-section {
	font-family: var(--td-font-serif);
	font-size: clamp(40px, 4.5vw, 83.48px);
	line-height: 1;
	letter-spacing: -1.67px;
	font-weight: 400;
}

.td-body {
	font-family: var(--td-font-sans);
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0.9px;
}

.td-body-lg {
	font-size: 22px;
	line-height: 35px;
}

/* Buttons */
.td-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--td-btn-width);
	min-height: var(--td-btn-height);
	padding: 0 32px;
	font-family: var(--td-font-sans);
	font-size: 18px;
	letter-spacing: 1.0728px;
	text-transform: uppercase;
	text-decoration: none;
	border: 1px solid var(--td-black);
	transition: opacity 0.2s ease;
}

.td-btn--primary {
	background: var(--td-black);
	color: var(--td-white);
}

.td-btn--outline {
	background: var(--td-white);
	color: var(--td-black);
}

.td-btn:hover {
	opacity: 0.85;
}

/* Hero CTA — side-by-side buttons (Figma single row) */
.td-hero-cta-row > .elementor-container {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 20px;
	max-width: none !important;
	width: auto !important;
}

.td-hero-cta-row .elementor-column {
	width: auto !important;
	flex: 0 0 auto;
}

.td-hero-cta-row .elementor-column > .elementor-element-populated {
	padding: 0 !important;
}

.td-hero-cta-row .elementor-button {
	width: var(--td-btn-width);
	min-width: var(--td-btn-width);
}

/* Sections */
.td-section--black {
	background: var(--td-black);
	color: var(--td-white);
}

.td-section--marble {
	background-image: url("../images/marble-bg.png");
	background-image: var(--td-marble-bg, url("../images/marble-bg.png"));
	background-size: cover;
	background-position: center;
}

.td-client-bar {
	background: var(--td-black);
	padding: 35px 0 28px;
}

.td-client-bar .td-eyebrow {
	color: var(--td-white);
	text-align: center;
	margin-bottom: 18px;
}

.td-client-bar > .elementor-container {
	max-width: var(--td-container) !important;
}

.td-client-bar .elementor-widget-html .elementor-widget-container {
	width: 100%;
}

.td-logo-strip {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.td-logo-strip img {
	flex: 1 1 0;
	min-width: 0;
	max-height: 62px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	filter: none;
}

.td-client-bar .elementor-image-gallery .gallery {
	display: flex !important;
	flex-wrap: nowrap !important;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.td-client-bar .elementor-image-gallery .gallery-item {
	flex: 1 1 0;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
}

.td-logo-row img {
	max-height: 62px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	filter: none;
}

/* What We Do — single section like Figma */
.td-what-we-do > .elementor-container {
	max-width: 1200px !important;
}

.td-what-we-do .td-heading-section,
.td-what-we-do .td-heading-section .elementor-heading-title,
.td-what-we-do .td-service-title,
.td-what-we-do .td-service-title .elementor-heading-title {
	color: var(--td-black) !important;
}

.td-what-we-do__eyebrow {
	color: var(--td-eyebrow) !important;
}

.td-what-we-do__body {
	color: var(--td-muted) !important;
}

.td-what-we-do .td-heading-section {
	margin: 0;
}

/* What We Do page — hero + process (Figma TDM-Updated-6.17.26) */
.td-wwd-hero {
	position: relative;
	overflow: visible;
	background: #f5f5f5 !important;
}

.td-wwd-hero > .elementor-container {
	max-width: var(--td-container) !important;
	column-gap: 208px !important;
	align-items: flex-start;
	position: relative;
	z-index: 1;
}

.td-wwd-hero .elementor-column:last-child .elementor-widget-wrap {
	display: flex;
	justify-content: flex-end;
	overflow: visible;
	position: relative;
}

.td-wwd-hero .elementor-column:first-child .elementor-widget-wrap {
	max-width: 857.74px;
}

.td-wwd-hero .elementor-column > .elementor-element-populated {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.td-wwd-hero__eyebrow {
	color: var(--td-eyebrow) !important;
	font-family: var(--td-font-nav) !important;
	font-size: 18px !important;
	letter-spacing: 1.0728px !important;
	text-transform: uppercase !important;
	margin: 0 0 16px !important;
}

.td-wwd-hero__title,
.td-wwd-hero__title .elementor-heading-title {
	color: var(--td-black) !important;
	font-family: var(--td-font-serif) !important;
	font-weight: 400 !important;
	margin: 0 0 24px !important;
}

.td-wwd-hero__body,
.td-wwd-hero__body p,
.td-wwd-hero .td-body,
.td-wwd-hero .td-body p,
.td-wwd-hero .elementor-text-editor p,
.td-wwd-hero .elementor-widget-text-editor p {
	color: #000000 !important;
	font-family: var(--td-font-nav) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 24px !important;
	letter-spacing: 0.9px !important;
	text-decoration: none !important;
	margin: 0 0 24px !important;
	max-width: 857.74px;
}

.td-wwd-hero__body p:last-child,
.td-wwd-hero .td-body p:last-child {
	margin-bottom: 0 !important;
}

.td-wwd-hero .elementor-text-editor a,
.td-wwd-hero__body a {
	color: inherit !important;
	text-decoration: none !important;
}

.td-wwd-hero .elementor-widget-html .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

.td-wwd-hero .elementor-column:last-child .elementor-element-populated {
	padding-top: 106px !important;
}

.td-wwd-hero .elementor-column:first-child .elementor-element-populated {
	padding-top: 0 !important;
}

/* Hero visual — iMac + team photo scale as one unit (Figma 654×630) */
.td-wwd-hero__visual {
	position: relative;
	width: 100%;
	max-width: 654px;
	aspect-ratio: 654 / 630;
	margin-left: auto;
	flex-shrink: 0;
	overflow: visible;
}

.td-wwd-imac {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.td-wwd-imac img {
	position: absolute !important;
	display: block !important;
	max-width: none !important;
}

/* Screen inset on 654×630: 22px L, 18px T, 610×340 — locked as % so photo tracks frame */
.td-wwd-imac__users {
	top: 2.857%;
	left: 3.363%;
	width: 93.272%;
	height: 53.968%;
	object-fit: cover;
	object-position: center center;
	z-index: 2;
}

.td-wwd-imac__frame {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	z-index: 1;
	pointer-events: none;
}

.td-wwd-hero__bg {
	position: absolute;
	left: 33%;
	top: 24%;
	width: 166%;
	height: auto;
	max-height: 147.78%;
	transform: translate(-50%, -50%);
	opacity: 1;
	z-index: 0;
	pointer-events: none;
	max-width: none !important;
	object-fit: contain;
}

/* How We Do It — Figma layers: texture bg + panel image (shifted up) + text on top */
.td-wwd-how {
	position: relative;
	color: var(--td-white);
	overflow: visible;
	background-color: #000000 !important;
	isolation: isolate;
}

/* Layer 1 — full-bleed marble texture (Figma ~42% opacity on black) */
.td-wwd-how::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("../images/wwd-how-bg.png") center top / cover no-repeat;
	opacity: 0.4196;
	pointer-events: none;
	z-index: 0;
}

/* Layer 2 — Figma Layer 25: wwd-how-main-bg.png 1343×847 @ X207 Y1012, nudged up */
.td-wwd-how::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 0%;
	width: min(1343px, 100%);
	aspect-ratio: 1343 / 847;
	height: auto;
	transform: translate(-50%, -64px);
	background: url("../images/wwd-how-main-bg.png") center top / 100% 100% no-repeat;
	pointer-events: none;
	z-index: 1;
}

/* Panel handled by ::after — hide duplicate HTML widget */
.td-wwd-how .elementor-element-tdww08a {
	display: none !important;
}

.td-wwd-how > .elementor-container {
	max-width: 1343px !important;
	position: relative;
	padding-left: 100px !important;
	padding-right: 100px !important;
}

.td-wwd-how .elementor-column > .elementor-element-populated {
	background: transparent !important;
	position: relative;
	z-index: 2;
	min-height: 1px;
}

.td-wwd-how .elementor-widget-wrap {
	background: transparent !important;
	position: relative;
}

/* Layer 2 — panel image behind heading + grid, nudged up on texture */
.td-wwd-how .elementor-element-tdww08a,
.td-wwd-how .elementor-widget-html:has(.td-wwd-how__panel) {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	z-index: 1 !important;
	pointer-events: none;
}

.td-wwd-how .elementor-element-tdww08a .elementor-widget-container,
.td-wwd-how .elementor-widget-html:has(.td-wwd-how__panel) .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

.td-wwd-how__panel {
	position: absolute;
	left: 50%;
	top: 38%;
	width: min(1343px, 100%);
	aspect-ratio: 1343 / 780;
	height: auto;
	transform: translate(-50%, -72px);
	z-index: 1;
	pointer-events: none;
}

.td-wwd-how__panel img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
	max-width: none !important;
}

/* Layer 3 — title, subhead, process grid above panel + texture */
.td-wwd-how .elementor-element:not(.elementor-element-tdww08a),
.td-wwd-how .elementor-inner-section,
.td-wwd-how .elementor-inner-section .elementor-container {
	position: relative;
	z-index: 2;
}

.td-wwd-intro__title,
.td-wwd-intro__title .elementor-heading-title,
.td-wwd-how .elementor-element-tdww10 .elementor-heading-title {
	color: #ffffff !important;
	font-family: var(--td-font-serif) !important;
	font-size: 83.48px !important;
	font-weight: 400 !important;
	line-height: 83.5px !important;
	letter-spacing: -1.67px !important;
	text-align: center !important;
	margin: 0 0 16px !important;
}

.td-wwd-intro__subhead,
.td-wwd-how .td-wwd-intro__subhead {
	color: rgba(255, 255, 255, 0.92) !important;
	font-family: var(--td-font-nav) !important;
	font-size: 22px !important;
	line-height: 35px !important;
	letter-spacing: 0.9px !important;
	text-align: center !important;
	margin: 0 0 0 !important;
}

.td-wwd-process-grid {
	margin-top: 0 !important;
	padding-top: 0 !important;
	background: transparent !important;
}

.td-wwd-process-grid > .elementor-container {
	column-gap: 48px !important;
	align-items: center;
}

.td-wwd-process-grid .elementor-column:first-child {
	text-align: right;
}

.td-wwd-process-grid .elementor-column:last-child {
	text-align: left;
}

.td-wwd-step__title,
.td-wwd-step__title .elementor-heading-title {
	color: var(--td-white) !important;
	font-family: var(--td-font-serif) !important;
	font-weight: 400 !important;
	margin: 0 0 12px !important;
}

.td-wwd-step__body,
.td-wwd-step__body p,
.td-wwd-process-grid .td-body,
.td-wwd-process-grid .td-body p {
	color: rgba(255, 255, 255, 0.88) !important;
	font-family: var(--td-font-nav) !important;
	font-size: 18px !important;
	line-height: 24px !important;
	letter-spacing: 0.9px !important;
	margin: 0 0 48px !important;
}

.td-wwd-process-grid .elementor-column:first-child .elementor-widget:last-child .td-wwd-step__body,
.td-wwd-process-grid .elementor-column:first-child .elementor-widget:last-child .td-body,
.td-wwd-process-grid .elementor-column:last-child .elementor-widget:last-child .td-wwd-step__body,
.td-wwd-process-grid .elementor-column:last-child .elementor-widget:last-child .td-body {
	margin-bottom: 0 !important;
}

.td-wwd-process__phone img {
	max-width: 318px;
	width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
}

.td-section--marble .td-heading-section,
.td-section--marble .td-heading-section .elementor-heading-title {
	color: var(--td-black) !important;
}

.td-what-we-do-services > .elementor-container {
	max-width: 1200px;
}

.td-what-we-do-services .elementor-column {
	width: 33.333% !important;
}

.td-what-we-do-services .elementor-column > .elementor-element-populated {
	padding: 0 24px !important;
}

/* Featured project — Figma 1920×802 */
.td-featured-project > .elementor-container {
	max-width: var(--td-container) !important;
	align-items: center;
	column-gap: 64px;
}

.td-featured-project .td-featured__eyebrow {
	color: var(--td-white) !important;
	font-family: var(--td-font-sans) !important;
	font-size: 18px;
	letter-spacing: 1.0728px;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.td-featured-project .td-featured__title,
.td-featured-project .td-featured__title .elementor-heading-title {
	font-family: var(--td-font-serif) !important;
	font-size: 80.906px !important;
	line-height: 85px !important;
	letter-spacing: -1.67px !important;
	font-weight: 400 !important;
	color: var(--td-white) !important;
	text-transform: none !important;
	margin: 0 0 24px;
}

.td-featured-project .td-featured__body {
	color: var(--td-white) !important;
	font-family: var(--td-font-sans) !important;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0.9px;
	max-width: 520px;
	margin: 0 0 32px;
}

.td-featured-project .elementor-button {
	font-family: var(--td-font-sans) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	letter-spacing: 1.0728px !important;
	text-transform: uppercase !important;
}

.td-service-icon img {
	max-height: 126px;
	width: auto;
	height: auto;
	display: block;
	margin: 0 auto;
}

/* Testimonial */
.td-testimonial .td-testimonial__mark,
.td-testimonial .td-testimonial__mark .elementor-heading-title {
	color: var(--td-black) !important;
	font-family: var(--td-font-serif) !important;
	font-style: italic;
	line-height: 1;
	margin-bottom: 8px;
}

.td-testimonial-quote {
	font-family: var(--td-font-serif) !important;
	font-style: italic;
	font-size: 35px;
	line-height: 45px;
	letter-spacing: 1.07px;
	text-align: center;
	color: var(--td-black) !important;
	max-width: 900px;
	margin: 0 auto 24px;
}

.td-testimonial-attribution {
	font-family: var(--td-font-sans) !important;
	font-size: 18px;
	letter-spacing: 1.07px;
	text-transform: uppercase;
	text-align: center;
	color: var(--td-muted) !important;
	margin: 0;
}

/* Our Process */
.td-our-process > .elementor-container {
	max-width: 1200px !important;
}

.td-process__eyebrow {
	color: var(--td-eyebrow) !important;
}

.td-process__heading,
.td-process__heading .elementor-heading-title {
	color: var(--td-black) !important;
	font-family: var(--td-font-serif) !important;
	font-size: 83.48px !important;
	line-height: 85px !important;
	letter-spacing: -1.67px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	margin: 0;
}

.td-process-steps {
	position: relative;
}

.td-process-steps > .elementor-container::before {
	content: "";
	position: absolute;
	top: 64px;
	left: 10%;
	right: 10%;
	height: 1px;
	background: rgba(0, 0, 0, 0.12);
	z-index: 0;
}

.td-process-steps .elementor-column {
	position: relative;
	z-index: 1;
}

.td-process-step__badge {
	width: 128px;
	height: 128px;
	border-radius: 50%;
	background: var(--td-black);
	margin: 0 auto 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.td-process-step__badge img {
	width: auto;
	max-width: 80px;
	max-height: 80px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.td-process-step__title,
.td-process-step__title .elementor-heading-title {
	font-family: var(--td-font-sans) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	letter-spacing: 3px !important;
	text-transform: uppercase !important;
	color: var(--td-black) !important;
	margin: 0 0 12px;
}

.td-process-step__body {
	color: var(--td-muted) !important;
	font-family: var(--td-font-sans) !important;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0.9px;
	text-align: center;
	max-width: 280px;
	margin: 0 auto;
}

.td-process-step__icon {
	width: 128px;
	height: 128px;
	margin: 0 auto 12px;
}

/* Service icons — see .td-what-we-do-services block above */

.td-service-title {
	font-family: var(--td-font-sans);
	font-size: 30px;
	letter-spacing: 3px;
	text-transform: uppercase;
	text-align: center;
}

/* Team — Figma About page */
.td-team-section {
	background-color: #000000 !important;
	background-image: url("../images/team-bg.png") !important;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	color: var(--td-white);
}

.td-team-section.elementor-element-tdab14 {
	padding: 60px 30px 32px !important;
}

.td-team-section.elementor-element-tdab17 {
	padding: 0 60px 60px !important;
}

.td-team-section .elementor-element-tdab16 .elementor-heading-title {
	font-family: var(--td-font-serif) !important;
	font-size: 83.48px !important;
	line-height: 83.5px !important;
	letter-spacing: -1.67px !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	color: #ffffff !important;
	margin: 0 !important;
}

.td-team-section .elementor-element-tdab17 > .elementor-container {
	max-width: 1343px !important;
	column-gap: 48px !important;
	align-items: flex-start !important;
}

.td-team-section .elementor-widget-image img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto;
	display: block;
	margin: 0 !important;
}

.td-team-section .td-team-name .elementor-heading-title,
.td-team-section .elementor-element-tdab20 .elementor-heading-title,
.td-team-section .elementor-element-tdab24 .elementor-heading-title,
.td-team-section .elementor-element-tdab28 .elementor-heading-title {
	font-family: var(--td-font-nav) !important;
	font-size: 33px !important;
	font-weight: 400 !important;
	line-height: 35px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #ffffff !important;
	margin: 16px 0 4px !important;
}

.td-team-section .td-team-role,
.td-team-section .td-team-role p {
	font-family: var(--td-font-nav) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 24px !important;
	letter-spacing: 1.44px !important;
	text-transform: uppercase !important;
	color: #ffffff !important;
	margin: 0 !important;
}

/* About page — Figma: dark photo col + white content col, same row */
.td-about-hero.elementor-section {
	background: transparent !important;
	padding: 0 !important;
}

.td-about-hero > .elementor-container {
	max-width: 100% !important;
	align-items: stretch !important;
	gap: 0 !important;
}

.td-about-hero > .elementor-container > .elementor-column:first-child {
	display: flex;
	flex-direction: column;
	align-self: stretch !important;
}

.td-about-hero > .elementor-container > .elementor-column:last-child {
	align-self: stretch !important;
}

.td-about-hero .elementor-element-tdab02 > .elementor-element-populated,
.td-about-hero > .elementor-container > .elementor-column:first-child > .elementor-element-populated {
	background-color: #000000 !important;
	background-image: url("../images/about-header-bg.png");
	background-size: cover;
	background-position: center center;
	padding: 0 !important;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.td-about-hero .elementor-element-tdab02 .elementor-widget-wrap {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.td-about-hero .elementor-element-tdab02 .elementor-widget-image {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	margin: 0 !important;
}

.td-about-hero .elementor-element-tdab02 .elementor-widget-image .elementor-widget-container {
	flex: 1 1 auto;
	display: flex;
	min-height: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.td-about-hero .td-about-hero__photo img,
.td-about-hero .elementor-element-tdab02 .elementor-widget-image img {
	width: 100% !important;
	max-width: none !important;
	height: 100%;
	min-height: 100%;
	display: block;
	margin: 0 !important;
	object-fit: cover;
	object-position: center top;
}

.td-about-hero .elementor-element-tdab04 > .elementor-element-populated,
.td-about-hero > .elementor-container > .elementor-column:last-child > .elementor-element-populated {
	background-color: #ffffff !important;
	padding: 80px 80px 48px 48px !important;
}

.td-about-hero__eyebrow,
.td-about-hero .td-about-hero__eyebrow {
	color: var(--td-eyebrow) !important;
	font-family: var(--td-font-nav) !important;
	font-size: 18px !important;
	letter-spacing: 1.0728px !important;
	text-transform: uppercase !important;
	margin: 0 0 16px !important;
}

.td-about-hero__name-line .elementor-heading-title,
.td-about-hero .elementor-element-tdab06 .elementor-heading-title,
.td-about-hero .elementor-element-tdab07 .elementor-heading-title {
	color: #000000 !important;
	font-family: var(--td-font-serif) !important;
	text-transform: uppercase !important;
	margin: 0 !important;
}

.td-about-hero .elementor-element-tdab06 .elementor-heading-title {
	font-size: 80.906px !important;
	font-weight: 400 !important;
	line-height: 85px !important;
	letter-spacing: -1.67px !important;
}

.td-about-hero .elementor-element-tdab07 .elementor-heading-title {
	font-size: 81.368px !important;
	font-weight: 500 !important;
	line-height: 85px !important;
	letter-spacing: -1.67px !important;
	margin-bottom: 24px !important;
}

.td-about-hero__lead,
.td-about-hero .td-about-hero__lead,
.td-about-hero .td-body-lg.td-about-hero__lead {
	color: #000000 !important;
	font-family: var(--td-font-serif) !important;
	font-size: 32px !important;
	line-height: 40px !important;
	letter-spacing: -0.64px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	max-width: 862.35px;
	margin: 0 0 32px !important;
}

.td-about-body {
	background: transparent !important;
	margin: 0 !important;
}

.td-about-body > .elementor-container {
	column-gap: 48px !important;
	align-items: flex-start;
}

.td-about-body .td-body,
.td-about-body .td-body p {
	color: #000000 !important;
	font-family: var(--td-font-nav) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 24px !important;
	letter-spacing: 0.9px !important;
	margin: 0 0 24px !important;
}

.td-about-body .td-body p:last-child {
	margin-bottom: 0 !important;
}

.td-about-hero .elementor-widget-wrap {
	background: transparent !important;
}

.td-about-hero + .td-team-section.elementor-section {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Portfolio page — Figma TDM-Updated-6.17.26 */
.td-portfolio-hero {
	background: #ffffff !important;
}

.td-portfolio-hero > .elementor-container {
	max-width: var(--td-container) !important;
	column-gap: 24px !important;
	align-items: flex-start;
	justify-content: flex-start;
}

.td-portfolio-hero .elementor-column:first-child {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: 463px !important;
}

.td-portfolio-hero .elementor-column:last-child {
	flex: 1 1 0 !important;
	min-width: 0 !important;
}

@media (min-width: 1025px) {
	.td-portfolio-hero .elementor-column:last-child {
		flex: 1 1 72% !important;
	}

	.td-portfolio-hero__collage img {
		width: 108%;
		max-width: 980px;
		margin-left: -2%;
	}
}

.td-portfolio-hero .elementor-column > .elementor-element-populated {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.td-portfolio-hero .elementor-column:first-child > .elementor-element-populated {
	padding-right: 0 !important;
}

.td-portfolio-hero__eyebrow,
.td-portfolio-hero__eyebrow p {
	color: var(--td-eyebrow) !important;
	font-family: var(--td-font-nav) !important;
	font-size: 18px !important;
	letter-spacing: 1.0728px !important;
	text-transform: uppercase !important;
	margin: 0 0 16px !important;
}

.td-portfolio-hero__title,
.td-portfolio-hero__title .elementor-heading-title {
	color: var(--td-black) !important;
	font-family: var(--td-font-serif) !important;
	font-size: 80.906px !important;
	line-height: 80.9px !important;
	letter-spacing: -1.62px !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	margin: 0 0 24px !important;
	max-width: 423px;
}

.td-portfolio-hero__body,
.td-portfolio-hero__body p,
.td-portfolio-hero .td-body,
.td-portfolio-hero .td-body p,
.td-portfolio-hero .elementor-text-editor p {
	color: #000000 !important;
	font-family: var(--td-font-nav) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 24px !important;
	letter-spacing: 0.9px !important;
	text-decoration: none !important;
	max-width: 463px;
	margin: 0 !important;
}

.td-portfolio-hero__collage img {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	margin-left: 0;
}

.td-portfolio-hero__collage .elementor-widget-container,
.td-portfolio-hero__collage {
	text-align: left !important;
}

.td-portfolio-featured {
	background: #000000 !important;
}

.td-portfolio-featured > .elementor-container {
	max-width: var(--td-container) !important;
}

.td-portfolio-featured-heading > .elementor-container {
	max-width: var(--td-container) !important;
	justify-content: center;
}

.td-portfolio-featured__title,
.td-portfolio-featured__title .elementor-heading-title {
	color: #ffffff !important;
	font-family: var(--td-font-serif) !important;
	font-size: 83.48px !important;
	line-height: 83.5px !important;
	letter-spacing: -1.67px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	text-transform: uppercase !important;
	text-align: center !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Featured projects — unified 3×3 grid (Figma: 565.4×556 cards, 565×396 images) */
.td-portfolio-featured-grid-section {
	background: #000000 !important;
	padding-bottom: 80px !important;
}

.td-portfolio-featured-grid-section > .elementor-container {
	max-width: 100% !important;
	padding: 0 69px !important;
}

.td-portfolio-featured-grid-section .elementor-widget-html {
	margin: 0 !important;
}

.td-fp-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px 46px;
	justify-content: center;
	max-width: 1787px;
	width: 100%;
	margin: 0 auto;
}

.td-fp-card {
	width: 100%;
	max-width: 565px;
	justify-self: center;
	height: auto;
	box-sizing: border-box;
	border: 1px solid #ffffff;
	background: #000000;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.td-fp-card__media {
	width: 100%;
	aspect-ratio: 565 / 396;
	height: auto;
	flex: 0 0 auto;
	overflow: hidden;
	line-height: 0;
	background: #000000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.td-fp-card__media img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center center;
}

.td-fp-card__body {
	flex: 0 0 auto;
	height: auto;
	box-sizing: border-box;
	padding: 30px 24px 40px 30px;
	background: #000000;
}

.td-fp-card__title {
	color: #ffffff;
	font-family: var(--td-font-nav);
	font-size: 22px;
	font-weight: 400;
	line-height: 28px;
	margin: 0 0 2px;
	padding: 0;
}

.td-fp-card__category {
	color: #a0a0a0;
	font-family: var(--td-font-nav);
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin: 0;
	padding: 0;
}

/* Portfolio testimonials — 2×3 grid */
.td-portfolio-testimonials {
	background: #333333 !important;
}

.td-portfolio-testimonials > .elementor-container {
	max-width: var(--td-container) !important;
}

.td-portfolio-testimonials .elementor-widget-html {
	margin: 0 !important;
}

.td-pt-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 44px 72px;
	max-width: 1180px;
	margin: 0 auto;
}

.td-pt-item {
	display: flex;
	align-items: flex-start;
	gap: 22px;
}

.td-pt-item__avatar {
	flex: 0 0 80px;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center top;
}

.td-pt-item__content {
	flex: 1;
	min-width: 0;
}

.td-pt-item__quote {
	font-family: var(--td-font-serif) !important;
	font-style: italic;
	font-size: 24px;
	line-height: 32px;
	letter-spacing: 0.4px;
	color: #ffffff !important;
	margin: 0 0 4px;
	padding: 0;
}

.td-pt-item__attribution {
	font-family: var(--td-font-serif) !important;
	font-style: normal;
	font-size: 18px;
	line-height: 26px;
	letter-spacing: 0.3px;
	color: rgba(255, 255, 255, 0.92) !important;
	margin: 0;
	padding: 0;
}

@media (max-width: 1199px) {
	.td-fp-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.td-portfolio-featured-grid-section > .elementor-container {
		padding: 0 32px !important;
	}

	.td-portfolio-featured__title,
	.td-portfolio-featured__title .elementor-heading-title {
		font-size: clamp(48px, 7vw, 83.48px) !important;
		line-height: 1 !important;
	}

	.td-portfolio-testimonials {
		padding-left: 32px !important;
		padding-right: 32px !important;
	}

	.td-pt-grid {
		gap: 36px 40px;
	}
}


.td-contact-hero .td-contact__title,
.td-contact-hero .td-contact__title .elementor-heading-title {
	color: var(--td-black) !important;
	font-family: var(--td-font-serif) !important;
}

.td-contact__eyebrow {
	color: var(--td-eyebrow) !important;
}

.td-contact__body {
	color: var(--td-muted) !important;
	max-width: 560px;
	margin: 16px auto 0;
}

.td-contact__label,
.td-contact__label .elementor-heading-title {
	font-family: var(--td-font-sans) !important;
	color: var(--td-black) !important;
}

.td-contact__cta-title,
.td-contact__cta-title .elementor-heading-title {
	color: var(--td-white) !important;
	font-family: var(--td-font-serif) !important;
}

/* Elementor overrides */
.elementor-widget-image img {
	max-width: 100%;
	height: auto;
}

.elementor-section-wrap,
.elementor-section {
	max-width: 100%;
}

.elementor-page .elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 1200px;
}

.td-full-width > .elementor-container {
	max-width: var(--td-container) !important;
}

@media (max-width: 1024px) {
	:root {
		--td-header-bar-height: 140px;
	}

	.td-header .elementor-nav-menu--layout-horizontal .elementor-nav-menu {
		white-space: normal;
	}

	.td-header .elementor-element-populated {
		min-height: auto;
		padding: 16px 20px !important;
	}

	.td-logo-strip {
		overflow-x: auto;
		justify-content: flex-start;
		-webkit-overflow-scrolling: touch;
		max-width: 100%;
		flex-wrap: nowrap;
		padding-bottom: 4px;
	}

	.td-logo-strip img {
		flex: 0 0 auto;
		max-height: 48px;
	}

	.td-client-bar {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	/* Home */
	body.home .elementor-element-tdhm01.elementor-section {
		padding: 64px 32px !important;
		min-height: auto !important;
	}

	body.home .elementor-element-tdhm01 > .elementor-container {
		flex-wrap: wrap !important;
		row-gap: 32px !important;
	}

	body.home .elementor-element-tdhm01 .elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	body.home .elementor-element-tdhm01 .elementor-widget-image img {
		width: 100%;
		height: auto;
	}

	.td-hero-cta-row > .elementor-container {
		flex-wrap: wrap !important;
		gap: 16px !important;
	}

	.td-hero-cta-row .elementor-button {
		width: min(100%, var(--td-btn-width));
		min-width: 0;
	}

	.td-what-we-do.elementor-section,
	.td-what-we-do-services.elementor-section {
		padding-top: 72px !important;
		padding-bottom: 72px !important;
	}

	.td-what-we-do-services .elementor-column {
		width: 100% !important;
		margin-bottom: 32px;
	}

	.td-what-we-do-services .elementor-column:last-child {
		margin-bottom: 0;
	}

	.td-featured-project > .elementor-container {
		flex-wrap: wrap !important;
		row-gap: 32px !important;
	}

	.td-featured-project .elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.td-featured-project .td-featured__title,
	.td-featured-project .td-featured__title .elementor-heading-title {
		font-size: clamp(40px, 7vw, 80.906px) !important;
		line-height: 1.05 !important;
	}

	.td-featured-project .elementor-widget-image {
		text-align: center;
	}

	.td-process__heading,
	.td-process__heading .elementor-heading-title {
		font-size: clamp(48px, 7vw, 83.48px) !important;
		line-height: 1 !important;
	}

	.td-process-steps > .elementor-container {
		flex-wrap: wrap !important;
		row-gap: 40px !important;
	}

	.td-process-steps > .elementor-container::before {
		display: none;
	}

	.td-process-steps .elementor-column {
		width: 50% !important;
	}

	body.home .elementor-element-tdhm68 > .elementor-container {
		flex-wrap: wrap !important;
		row-gap: 24px !important;
	}

	body.home .elementor-element-tdhm68 .elementor-column {
		width: 100% !important;
	}

	body.home .elementor-element-tdhm68 .elementor-heading-title {
		font-size: clamp(36px, 6vw, 60px) !important;
		line-height: 1.1 !important;
		text-align: center !important;
	}

	body.home .elementor-element-tdhm68 .elementor-button-wrapper {
		text-align: center !important;
	}

	/* Portfolio */
	.td-portfolio-hero > .elementor-container {
		flex-wrap: wrap !important;
		row-gap: 32px !important;
	}

	.td-portfolio-hero .elementor-column:first-child,
	.td-portfolio-hero .elementor-column:last-child {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.td-portfolio-hero__title,
	.td-portfolio-hero__title .elementor-heading-title {
		font-size: clamp(40px, 8vw, 80.906px) !important;
		line-height: 1.05 !important;
		max-width: 100%;
	}

	.td-portfolio-hero__body,
	.td-portfolio-hero__body p,
	.td-portfolio-hero .td-body,
	.td-portfolio-hero .td-body p,
	.td-portfolio-hero .elementor-text-editor p {
		max-width: 100%;
	}

	.td-portfolio-hero__collage img {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
	}

	.td-portfolio-featured-heading.elementor-section {
		padding-left: 32px !important;
		padding-right: 32px !important;
	}

	/* About */
	.td-wwd-hero.elementor-section {
		padding: 80px 48px !important;
	}

	.td-wwd-hero > .elementor-container {
		flex-wrap: wrap !important;
		column-gap: 48px !important;
		row-gap: 48px !important;
	}

	.td-wwd-hero > .elementor-container > .elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.td-wwd-hero .elementor-column:first-child .elementor-widget-wrap {
		max-width: 100%;
	}

	.td-wwd-hero__body,
	.td-wwd-hero__body p,
	.td-wwd-hero .td-body,
	.td-wwd-hero .td-body p,
	.td-wwd-hero .elementor-text-editor p,
	.td-wwd-hero .elementor-widget-text-editor p {
		max-width: 100%;
	}

	.td-wwd-hero__title .elementor-heading-title {
		font-size: 56px !important;
		line-height: 1.05 !important;
	}

	.td-wwd-hero .elementor-column:last-child .elementor-element-populated {
		padding-top: 0 !important;
	}

	.td-wwd-hero .elementor-column:last-child .elementor-widget-wrap {
		justify-content: center;
	}

	.td-wwd-hero__visual {
		margin-left: auto;
		margin-right: auto;
	}

	.td-wwd-hero__bg {
		left: 50%;
		top: 41%;
		width: 180%;
		max-height: none;
		opacity: 0.6;
	}

	.td-wwd-how.elementor-section {
		padding: 80px 24px !important;
	}

	.td-wwd-how > .elementor-container {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	.td-wwd-how::after {
		top: 80px;
		width: calc(100% - 48px);
		transform: translate(-50%, -40px);
	}

	.td-about-hero > .elementor-container {
		flex-wrap: wrap !important;
	}

	.td-about-hero > .elementor-container > .elementor-column {
		width: 100% !important;
	}

	.td-about-hero .elementor-element-tdab04 > .elementor-element-populated,
	.td-about-hero > .elementor-container > .elementor-column:last-child > .elementor-element-populated {
		padding: 48px 32px !important;
	}

	.td-about-hero .elementor-element-tdab06 .elementor-heading-title,
	.td-about-hero .elementor-element-tdab07 .elementor-heading-title {
		font-size: clamp(40px, 8vw, 80.906px) !important;
		line-height: 1.05 !important;
	}

	.td-about-body > .elementor-container {
		flex-wrap: wrap !important;
	}

	.td-about-body .elementor-column {
		width: 100% !important;
	}

	.td-team-section > .elementor-container {
		flex-wrap: wrap !important;
		row-gap: 48px !important;
	}

	.td-team-section .elementor-column {
		width: 100% !important;
		max-width: 360px;
		margin-left: auto;
		margin-right: auto;
	}

	.td-team-section .td-team__title .elementor-heading-title {
		font-size: clamp(48px, 7vw, 83.48px) !important;
		line-height: 1 !important;
	}

	/* Contact */
	.td-contact-hero.elementor-section {
		padding: 72px 32px !important;
		min-height: auto !important;
	}

	.td-contact-hero .td-contact__title .elementor-heading-title {
		font-size: clamp(40px, 8vw, 80.906px) !important;
		line-height: 1.05 !important;
	}

	.elementor-element-tdct06 > .elementor-container {
		flex-wrap: wrap !important;
		row-gap: 40px !important;
	}

	.elementor-element-tdct06 .elementor-column {
		width: 100% !important;
	}

	.elementor-element-tdct06.elementor-section,
	.elementor-element-tdct12.elementor-section {
		padding-left: 32px !important;
		padding-right: 32px !important;
	}

	.td-contact__cta-title .elementor-heading-title {
		font-size: clamp(36px, 6vw, 60px) !important;
		line-height: 1.1 !important;
	}

	/* Footer */
	.td-footer {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	.td-footer__copyright {
		font-size: 10px;
		line-height: 1.5;
		max-width: 720px;
		margin-left: auto;
		margin-right: auto;
	}

	.td-wwd-intro__title .elementor-heading-title,
	.td-wwd-how .elementor-element-tdww10 .elementor-heading-title {
		font-size: clamp(56px, 7vw, 83.48px) !important;
		line-height: 1 !important;
		letter-spacing: -1.67px !important;
	}

	.td-wwd-process-grid .elementor-column:first-child,
	.td-wwd-process-grid .elementor-column:last-child {
		text-align: left;
	}

	.td-header .elementor-nav-menu--main .elementor-item {
		font-size: 12px;
		padding: 0 12px;
	}

	.td-header__logo-word {
		font-size: 28px;
		line-height: 28px;
	}

	.td-header__logo-pipe {
		font-size: 36px;
		line-height: 36px;
		top: -8px;
	}

	.td-btn {
		min-width: 220px;
		min-height: 64px;
		font-size: 16px;
	}
}

@media (max-width: 767px) {
	:root {
		--td-header-bar-height: auto;
		--td-section-pad: 48px;
	}

	.td-header {
		min-height: 0 !important;
	}

	.td-header .elementor-nav-menu--main .elementor-item {
		font-size: 14px;
		padding: 12px 20px;
	}

	.td-heading-hero,
	.td-heading-hero .elementor-heading-title {
		font-size: 36px !important;
		line-height: 1.1 !important;
	}

	.td-heading-section,
	.td-heading-section .elementor-heading-title {
		font-size: 32px !important;
		line-height: 1.05 !important;
	}

	.td-body,
	.td-body p {
		font-size: 16px;
		line-height: 22px;
	}

	.td-btn,
	.td-hero-cta-row .elementor-button,
	.elementor-button.td-btn {
		min-width: 0;
		width: 100%;
		max-width: 280px;
		min-height: 56px;
		font-size: 15px;
	}

	/* Home */
	body.home .elementor-element-tdhm01.elementor-section {
		padding: 48px 20px !important;
	}

	body.home .elementor-element-tdhm10.elementor-section {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.td-what-we-do.elementor-section {
		padding: 56px 20px !important;
	}

	.td-featured-project.elementor-section {
		padding: 56px 20px !important;
	}

	.td-testimonial.elementor-section {
		padding: 56px 20px !important;
	}

	.td-our-process.elementor-section {
		padding: 56px 20px !important;
	}

	.td-process-steps .elementor-column {
		width: 100% !important;
	}

	body.home .elementor-element-tdhm68.elementor-section {
		padding: 56px 20px !important;
	}

	/* Portfolio */
	.td-fp-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.td-portfolio-featured-grid-section > .elementor-container {
		padding: 0 20px !important;
	}

	.td-portfolio-featured-heading.elementor-section {
		padding: 48px 20px 24px !important;
	}

	.td-portfolio-featured__title,
	.td-portfolio-featured__title .elementor-heading-title {
		font-size: 36px !important;
		line-height: 1.05 !important;
	}

	.td-portfolio-hero.elementor-section {
		padding: 48px 20px !important;
	}

	.td-portfolio-testimonials.elementor-section {
		padding: 48px 20px !important;
	}

	.td-pt-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.td-pt-item__quote {
		font-size: 20px;
		line-height: 28px;
	}

	.td-pt-item__attribution {
		font-size: 16px;
		line-height: 24px;
	}

	/* About */
	.td-about-hero .elementor-element-tdab06 .elementor-heading-title,
	.td-about-hero .elementor-element-tdab07 .elementor-heading-title {
		font-size: 36px !important;
	}

	.td-about-body.elementor-section {
		padding: 48px 20px !important;
	}

	.td-team-section.elementor-section {
		padding: 48px 20px !important;
	}

	/* Contact */
	.td-contact-hero.elementor-section {
		padding: 48px 20px !important;
	}

	.elementor-element-tdct06.elementor-section,
	.elementor-element-tdct12.elementor-section {
		padding: 48px 20px !important;
	}

	/* What We Do */
	.td-wwd-hero.elementor-section {
		padding: 48px 20px !important;
	}

	.td-wwd-hero > .elementor-container {
		column-gap: 32px !important;
		row-gap: 32px !important;
	}

	.td-wwd-hero__title .elementor-heading-title {
		font-size: 40px !important;
		line-height: 1.1 !important;
	}

	.td-wwd-hero__eyebrow {
		font-size: 14px !important;
	}

	.td-wwd-hero__body,
	.td-wwd-hero__body p,
	.td-wwd-hero .td-body,
	.td-wwd-hero .td-body p,
	.td-wwd-hero .elementor-text-editor p,
	.td-wwd-hero .elementor-widget-text-editor p {
		font-size: 16px !important;
		line-height: 22px !important;
	}

	.td-wwd-hero .elementor-column:last-child .elementor-element-populated {
		padding-top: 0 !important;
	}

	.td-wwd-hero__visual {
		margin-left: auto;
		margin-right: auto;
		width: min(100%, 654px);
	}

	.td-wwd-hero__bg {
		left: 50%;
		top: 40%;
		width: 200%;
		opacity: 0.55;
	}

	.td-wwd-how.elementor-section {
		padding: 48px 16px !important;
	}

	.td-wwd-how > .elementor-container {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.td-wwd-how::after {
		top: 48px;
		width: calc(100% - 32px);
		transform: translate(-50%, -24px);
	}

	.td-wwd-intro__title .elementor-heading-title,
	.td-wwd-how .elementor-element-tdww10 .elementor-heading-title {
		font-size: 40px !important;
		line-height: 40px !important;
		letter-spacing: -0.8px !important;
	}

	.td-wwd-process-grid > .elementor-container {
		flex-wrap: wrap !important;
		row-gap: 32px !important;
	}

	.td-wwd-process-grid .elementor-column {
		width: 100% !important;
	}

	.td-wwd-process-grid .elementor-column:first-child,
	.td-wwd-process-grid .elementor-column:last-child {
		text-align: left;
	}

	.td-testimonial-quote {
		font-size: 24px;
		line-height: 32px;
	}

	.td-footer__brand .td-header__brand-word {
		font-size: 22px;
	}

	.td-footer__brand .td-header__brand-pipe {
		font-size: 36px;
	}

	.elementor-page .elementor-section.elementor-section-boxed > .elementor-container {
		max-width: 100%;
	}
}

