/* --------------------------------------------------------------------
*
* Master Stylesheet
* 
* Template:		Hektor - Creative Agency and Portfolio HTML Website Template
* Author:		Themetorium
* URL:			https://themetorium.net/
*
-------------------------------------------------------------------- */


/* Table of Content
====================
*
* Global variables 
* General 
* Page transitions
* Custom scrollbar style
* Magic cursor
* Headings
* Figure
* Body inner
* Content wrap
* Page content
* Page boxed layout
* Header
* Main menu
* Page header
* tt-Section
* 404 error
* Fancybox (lightbox plugin)
* Portfolio scrolling
* tt-Grid
* Portfolio grid
* Portfolio slider
* Portfolio cards
* Project info list
* Portfolio single page nav (prev/next projects)
* Contact form
* Contact info
* Footer
* Scroll to top button
*
*/ 



/* ------------------------------------------------------------- *
 * Global variables
/* ------------------------------------------------------------- */

:root {
	/* General */
	--tt-main-color: #9d2e13; /* Template main color. #9d2e13 */
	--tt-dark-color: #16171a; /* Template dark color. #16171a */
	--tt-light-color: #e3e0d8; /* Template light color. #e3e0d8 */

	--tt-bg-color: #e3e0d8; /* Template background color. #e3e0d8 */
	--tt-accent-bg-color: #edebe4; /* Template background color. #edebe4 */
	--tt-text-color: #16171a; /* Template text color. #16171a */
	--tt-text-muted-color: #6c6c6c; /* Template text muted color. #6c6c6c */
	--tt-border-color: #16171a; /* Template borders color. #16171a */
	--tt-shadow-color: #16171a; /* Template shadows color. #16171a */

	/* Page transition */
	--tt-page-trans-overlay-bg-color: #16171a; /* Page transition overlay background color. #16171a */

	/* Fonts */
	--tt-body-font: "Cascadia Mono", sans-serif; /* Body font. */

	/* Cursor ball */
	--tt-ball-border-color: #999; /* Ball border color. #999 */
	--tt-ball-magnetic-color: var(--tt-main-color); /* Ball magnetic border color. var(--tt-main-color) */
	--tt-ball-bg-color: var(--tt-main-color); /* Ball view background color. var(--tt-main-color) */
	--tt-ball-color: #FFF; /* Ball text color. #FFF */

	/* Links */
	--tt-link-color: #9d2e13; /* Link color. #9d2e13 */
	--tt-link-hover-color: #d5350e; /* Link hover color. #d5350e */

	/* Buttons */
	--tt-primary-btn-bg-color: var(--tt-main-color); /* Primary button background color. var(--tt-main-color) */
	--tt-primary-btn-color: #FFF; /* Link hover color. #FFF */

	/* Main menu */
	--tt-sub-menu-bg-color: #24262a; /* Sub menu background color. #24262a */
	--tt-sub-menu-link-color: #bbb9b2; /* Sub menu link color. #bbb9b2 */
	--tt-sub-menu-link-hover-color: #FFF; /* Sub menu link hover color. #FFF */

	/* Force to light color */
	--tt-force-to-light-color: #f3f3f3; /* If the element has a background image/video (page header, fullscreen slider, etc.), make all inner elements light (for better visibility). #f3f3f3 */
}

/* Legal pages
============================== */
.pump-legal-hero .tt-heading-title {
	max-width: 1040px;
	font-size: clamp(34px, 3.4vw, 56px) !important;
	line-height: 1.05;
	overflow-wrap: anywhere;
}

.pump-legal-hero .pump-page-lead {
	max-width: 900px;
}

.pump-legal-hero {
	padding-bottom: 32px !important;
}

.pump-legal-hero + .tt-section {
	padding-top: 32px;
}

.pump-legal-date {
	margin: 26px 0 0;
	font-size: 14px;
	font-weight: 700;
	opacity: .65;
}

.pump-legal-page {
	max-width: 980px;
	margin: 0 auto;
}

.pump-legal-section {
	display: block;
	padding: clamp(22px, 3vw, 38px) 0;
	border: 0;
}

.pump-legal-section:first-child {
	padding-top: 0;
}

.pump-legal-section:last-of-type {
	border: 0;
}

.pump-legal-kicker {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	opacity: .62;
}

.pump-legal-section > :not(.pump-legal-kicker) {
	max-width: 900px;
}

.pump-legal-section h2 {
	margin: 0 0 16px;
	font-size: clamp(27px, 2.8vw, 42px);
	line-height: 1.08;
	letter-spacing: 0;
}

.pump-legal-section p,
.pump-legal-section li,
.pump-legal-alert p,
.pump-legal-alert li,
.pump-legal-table {
	font-size: clamp(15px, 1.25vw, 18px);
	line-height: 1.65;
}

.pump-legal-section p {
	margin: 0 0 14px;
}

.pump-legal-section ul {
	margin: 0;
	padding-left: 22px;
}

.pump-legal-section li + li {
	margin-top: 10px;
}

.pump-legal-section a,
.pump-legal-alert a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.pump-legal-details {
	margin: 18px 0 10px;
	padding: 0;
	border: 0;
	background: transparent;
}

.pump-legal-details p {
	margin: 0;
}

.pump-legal-details p + p {
	margin-top: 8px;
}

.pump-legal-alert {
	margin: 0 0 48px;
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid var(--tt-main-color);
	background: color-mix(in srgb, var(--tt-main-color) 8%, var(--tt-bg-color));
}

.pump-legal-alert:last-child {
	margin: 64px 0 0;
}

.pump-legal-alert > strong {
	display: block;
	margin-bottom: 12px;
	font-size: clamp(22px, 2.5vw, 34px);
	line-height: 1.1;
}

.pump-legal-alert p:last-child {
	margin-bottom: 0;
}

.pump-legal-table-wrap {
	overflow-x: auto;
	margin: 8px 0 24px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 30%, transparent);
}

.pump-legal-table {
	width: 100%;
	min-width: 820px;
	border-collapse: collapse;
}

.pump-legal-table th,
.pump-legal-table td {
	padding: 16px;
	border-right: 1px solid color-mix(in srgb, var(--tt-text-color) 20%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 20%, transparent);
	text-align: left;
	vertical-align: top;
}

.pump-legal-table th {
	font-weight: 800;
	background: color-mix(in srgb, var(--tt-text-color) 7%, transparent);
}

.pump-legal-table tr:last-child td {
	border-bottom: 0;
}

.pump-legal-table th:last-child,
.pump-legal-table td:last-child {
	border-right: 0;
}

.pump-form-privacy-notice,
.pump-web-contact-privacy {
	margin: 24px 0;
	font-size: 13px;
	line-height: 1.5;
	opacity: .75;
}

.pump-form-privacy-notice a,
.pump-web-contact-privacy a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 767px) {
	.pump-legal-hero .tt-heading-title {
		font-size: clamp(30px, 9vw, 42px) !important;
	}

	.pump-legal-section {
		display: block;
		padding: 24px 0;
	}

	.pump-legal-hero {
		padding-bottom: 24px !important;
	}

	.pump-legal-hero + .tt-section {
		padding-top: 24px;
	}

	.pump-legal-kicker {
		margin: 0 0 9px;
	}

	.pump-legal-section h2 {
		font-size: clamp(26px, 8vw, 36px);
	}

	.pump-legal-alert {
		margin-bottom: 32px;
	}
}

/* Home services accordion
============================ */
#services {
	scroll-margin-top: 110px;
}

.pump-services-accordion .tt-acc-head-inner,
.pump-services-accordion .tt-acc-head-title {
	min-width: 0;
}

.pump-services-accordion .tt-acc-head-title {
	overflow-wrap: break-word;
	hyphens: auto;
}

.pump-services-accordion .tt-accordion-content {
	padding-top: 6px;
	padding-bottom: 34px;
}

.pump-service-content-row {
	align-items: center;
}

.pump-service-copy {
	max-width: 1120px;
}

.pump-service-copy p {
	margin: 0 0 12px;
	font-size: clamp(17px, 1.35vw, 22px);
	line-height: 1.45;
}

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

.pump-service-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 24px;
}

.pump-service-tags span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 28px;
	padding: 5px 10px;
	border: 1px solid rgba(255, 255, 255, .38);
	border-radius: 999px;
	color: #f4f1e9;
	background-color: #16171a;
	background-image: repeating-linear-gradient(
		135deg,
		rgba(255, 255, 255, .045) 0 1px,
		transparent 1px 6px
	);
	box-shadow:
		inset 0 0 0 1px rgba(0, 0, 0, .28),
		2px 3px 0 color-mix(in srgb, var(--tt-text-color) 16%, transparent);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: 0;
	transition: transform .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.pump-service-tags span::before {
	flex: 0 0 auto;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--tt-main-color);
	box-shadow: 0 0 0 3px rgba(157, 46, 19, .18);
	content: "";
}

.pump-service-tags span:hover {
	border-color: color-mix(in srgb, var(--tt-main-color) 82%, #fff 18%);
	background-color: #24262a;
	box-shadow:
		inset 0 0 0 1px rgba(0, 0, 0, .2),
		3px 4px 0 color-mix(in srgb, var(--tt-main-color) 42%, transparent);
	transform: translateY(-2px);
}

.pump-service-cta-col {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.pump-service-cta-col .tt-btn {
	display: inline-flex;
	width: clamp(164px, 12vw, 208px);
	height: clamp(164px, 12vw, 208px);
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	padding: 24px;
	white-space: normal;
	text-align: center;
	line-height: 1.15;
}

.pump-service-cta-col .tt-btn .tt-btn-inner > span:not(.tt-btn-icon),
.pump-service-cta-col .tt-btn .tt-btn-inner > span:not(.tt-btn-icon)::after {
	max-width: 150px;
	white-space: normal;
}

@media (max-width: 991px) {
	#services {
		scroll-margin-top: 82px;
	}

	.pump-services-accordion .tt-accordion-content {
		padding-top: 8px;
		padding-bottom: 32px;
	}

	.pump-service-cta-col {
		justify-content: flex-start;
		margin-top: 26px;
	}

	.pump-service-cta-col .tt-btn {
		width: 154px;
		height: 154px;
		padding: 20px;
	}
}

@media (max-width: 768px) {
	.pump-services-accordion .tt-acc-head {
		padding-right: 8px;
	}

	.pump-services-accordion .tt-accordion-caret {
		flex: 0 0 42px;
		margin-right: 2px;
	}

	.pump-services-accordion .tt-acc-head-title {
		font-size: clamp(23px, 7vw, 32px);
		line-height: 1.08;
	}

	.pump-services-accordion .tt-accordion-content {
		padding-right: 18px;
		padding-left: 18px;
	}

	.pump-service-copy p {
		font-size: 16px;
		line-height: 1.45;
	}

	.pump-service-tags {
		gap: 7px;
		margin-top: 20px;
	}

	.pump-service-tags span {
		min-height: 27px;
		padding: 5px 9px;
		font-size: 10px;
	}
}


/* ------------------------------------------------------------- *
 * General
/* ------------------------------------------------------------- */

* { box-sizing: border-box; }

html, body {
	padding: 0;
	margin: 0;
}

body {
	position: relative;
	margin: 0;
	background-color: var(--tt-bg-color);
	background-image: var(--tt-bg-pattern);
	background-size: var(--tt-bg-pattern-size, auto);
	background-attachment: fixed;
  	background-repeat: repeat;
	line-height: 1.5;
	font-family: var(--tt-body-font);
	font-size: 19px;
	font-weight: normal;
	-webkit-font-smoothing: antialiased;
	color: var(--tt-text-color);
	overflow-x: hidden;
}

body::before {
	position: fixed;
	content: "";
	inset: 0;
	pointer-events: none;
	z-index: -1;
	background-image:
		linear-gradient(rgba(110, 100, 84, 0.075) 1px, transparent 1px),
		linear-gradient(90deg, rgba(110, 100, 84, 0.075) 1px, transparent 1px);
	background-size: 32px 32px;
	background-position: top left;
}

main {
	display: block;
}

p { 
	margin: 0 0 24px; 
}
@media (max-width: 480px) {
	p br { 
		display: none; 
	}
}

a {
	background-color: transparent;
	color: var(--tt-link-color);
	text-decoration: none;
	outline: none
}
a:hover, 
a:focus {
	color: var(--tt-link-hover-color);
}
p a {
	text-decoration: underline;
}

pre {
	max-width: 100%;
	background-color: rgb(141 141 141 / 15%);
	margin-bottom: 20px;
	padding: 12px;
	overflow: auto;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	page-break-inside: avoid;
	box-sizing: border-box;
	border-radius: 6px;
}
pre, code, kbd, samp {
	font-family: monospace, monospace;
	font-size: 15px;
}

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

b, strong {
	font-weight: bold;
	font-weight: 700;
}
abbr {
	font-style: italic;
	cursor: help;
}

svg {
	width: 100%;
	height: auto;
}

mark {
	background-color: var(--tt-main-color);
	text-decoration: none;
	color: #fff;
	padding: 0 6px;
	display: inline-block;
	border-radius: 100px;
}

section { 
	position: relative; 
}

button {}
button:focus { 
	outline: none; 
}

.small, small {
	font-size: 80%;
}

hr {
	width: 100%;
	height: 0;
	box-sizing: content-box;
	border: none;
	border-bottom: 1px solid rgb(144 144 144 / 30%);
}

/* Selection */
::selection {
	color: var(--tt-light-color);
	-webkit-text-fill-color: var(--tt-light-color);
	text-shadow: none;
	background: var(--tt-main-color);
}
::-moz-selection {
	color: var(--tt-light-color);
	-webkit-text-fill-color: var(--tt-light-color);
	text-shadow: none;
	background: var(--tt-main-color); /* Firefox */
}
::-webkit-selection {
	color: var(--tt-light-color);
	-webkit-text-fill-color: var(--tt-light-color);
	text-shadow: none;
	background: var(--tt-main-color); /* Safari */
}


/* Prevent an unanimated Hero title from flashing before SplitText is ready. */
body.tt-transition:not(.tt-entrance-started) .ph-caption-title:not(.pump-web-trail-title) {
	opacity: 0;
	animation: ttEntranceFallback 0s 2.5s forwards;
}

/* Keep entrance targets hidden until their first GSAP frame is authored. */
body.tt-transition:not(.tt-entrance-started) .ph-caption-subtitle,
body.tt-transition:not(.tt-entrance-started) .ph-caption-categories:not(.pump-web-trail-tags),
body.tt-transition:not(.tt-entrance-started) .ph-caption-meta,
body.tt-transition:not(.tt-entrance-started) .tt-project-info-list > ul > li,
body.tt-transition:not(.tt-entrance-started) .ph-share-inner,
body.tt-transition:not(.tt-entrance-started) .ph-social .tt-social-buttons > ul > li,
body.tt-transition:not(.tt-entrance-started) .tt-sd-inner {
	opacity: 0;
	visibility: hidden;
}

body.tt-transition:not(.tt-scroll-motion-ready) .tt-anim-zoomin,
body.tt-transition:not(.tt-scroll-motion-ready) .tt-anim-fadeinup,
body.tt-transition:not(.tt-scroll-motion-ready) .tt-anim-characters,
body.tt-transition:not(.tt-scroll-motion-ready) .tt-anim-lines {
	visibility: hidden;
}
@keyframes ttEntranceFallback {
	to { opacity: 1; }
}

/* ------------------------------------------------------------- *
 * Custom scrollbar style
/* ------------------------------------------------------------- */

.tt-custom-scrollbar {
	overflow-y: auto;
}

/* Works on Firefox */
html,
.tt-custom-scrollbar {
	scrollbar-width: thin;
	scrollbar-color: #555 rgb(134 134 134 / 18%);
}
select,
textarea {
	resize: none;
	scrollbar-width: thin;
	scrollbar-color: color-mix(in srgb, var(--tt-text-color) 78%, transparent) color-mix(in srgb, var(--tt-text-color) 9%, transparent);
}

/* Works on Chrome, Edge, and Safari */
html::-webkit-scrollbar,
.tt-custom-scrollbar::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}
select::-webkit-scrollbar,
textarea::-webkit-scrollbar {
	width: 12px;
}
select::-webkit-scrollbar-button,
textarea::-webkit-scrollbar-button {
	display: none;
	width: 0;
	height: 0;
}
html::-webkit-scrollbar-track,
select::-webkit-scrollbar-track,
textarea::-webkit-scrollbar-track,
.tt-custom-scrollbar::-webkit-scrollbar-track {
	background: rgb(134 134 134 / 18%);
}
select::-webkit-scrollbar-track,
textarea::-webkit-scrollbar-track {
	margin: 16px 4px 16px 0;
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-text-color) 9%, transparent);
}
html::-webkit-scrollbar-thumb,
.tt-custom-scrollbar::-webkit-scrollbar-thumb {
	background-color: #555;
	border-radius: 50px;
}
html::-webkit-scrollbar-thumb:hover,
.tt-custom-scrollbar::-webkit-scrollbar-thumb:hover {
	background-color: #666;
}
select::-webkit-scrollbar-thumb,
textarea::-webkit-scrollbar-thumb {
	min-height: 34px;
	border: 4px solid transparent;
	border-radius: 999px;
	background-clip: padding-box;
	background-color: color-mix(in srgb, var(--tt-text-color) 78%, transparent);
}
select::-webkit-scrollbar-thumb:hover,
textarea::-webkit-scrollbar-thumb:hover {
	background-color: var(--tt-text-color);
}
select::-webkit-scrollbar-corner,
textarea::-webkit-scrollbar-corner {
	background: transparent;
}
body.tt-dark-mode-on textarea,
body.tt-dark-mode-on select {
	scrollbar-color: rgb(245 242 232 / .78) rgb(245 242 232 / .11);
}
body.tt-dark-mode-on textarea::-webkit-scrollbar-track,
body.tt-dark-mode-on select::-webkit-scrollbar-track {
	background: rgb(245 242 232 / .11);
}
body.tt-dark-mode-on textarea::-webkit-scrollbar-thumb,
body.tt-dark-mode-on select::-webkit-scrollbar-thumb {
	background-color: rgb(245 242 232 / .78);
}
body.tt-dark-mode-on textarea::-webkit-scrollbar-thumb:hover,
body.tt-dark-mode-on select::-webkit-scrollbar-thumb:hover {
	background-color: rgb(245 242 232 / .96);
}

.pump-textarea-wrap {
	position: relative;
	display: block;
}

.pump-textarea-wrap textarea {
	padding-right: 58px !important;
	overflow-y: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.pump-textarea-wrap textarea::-webkit-scrollbar {
	width: 0 !important;
	height: 0 !important;
}

.pump-textarea-wrap textarea::-webkit-scrollbar-button {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

.pump-textarea-scrollbar {
	position: absolute;
	top: 34px;
	right: 20px;
	bottom: 34px;
	width: 7px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-text-color) 10%, transparent);
	opacity: 0;
	pointer-events: none;
	transition: opacity .18s ease, background-color .18s ease;
}

.pump-textarea-wrap.is-scrollable .pump-textarea-scrollbar {
	opacity: 1;
}

.pump-textarea-wrap:focus-within .pump-textarea-scrollbar {
	background: color-mix(in srgb, var(--tt-text-color) 14%, transparent);
}

.pump-textarea-thumb {
	position: absolute;
	left: 1px;
	top: 0;
	width: 5px;
	min-height: 34px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-text-color) 84%, transparent);
	box-shadow: 0 1px 0 rgb(255 255 255 / .18) inset;
	transition: background-color .18s ease;
}

.pump-textarea-wrap:focus-within .pump-textarea-thumb {
	background: var(--tt-text-color);
}

body.tt-dark-mode-on .pump-textarea-scrollbar {
	background: rgb(245 242 232 / .12);
}

body.tt-dark-mode-on .pump-textarea-wrap:focus-within .pump-textarea-scrollbar {
	background: rgb(245 242 232 / .16);
}

body.tt-dark-mode-on .pump-textarea-thumb {
	background: rgb(245 242 232 / .82);
}

body.tt-dark-mode-on .pump-textarea-wrap:focus-within .pump-textarea-thumb {
	background: rgb(245 242 232 / .96);
}


/* ------------------------------------------------------------- *
 * Magic cursor
/* ------------------------------------------------------------- */

#magic-cursor {
	position: fixed;
	display: none;
	top: 0;
	left: 0;
	width: 10px;
	height: 10px;
	pointer-events: none;
	z-index: 99999;
	opacity: 0;
}
body.tt-magic-cursor #magic-cursor {
	display: block;
}

#ball {
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: none;
	border-style: solid;
	border-radius: 50%;
	border-color: var(--tt-ball-border-color);
	/* Note: border width handled through JS */
}


/* Ball view 
============= */
#ball.ball-view {
	background-color: var(--tt-ball-bg-color);
	text-align: center;
	font-size: 17px;
	font-weight: 500;
	color: var(--tt-ball-color);
	line-height: 1.2;
	border-color: var(--tt-ball-bg-color);
}
#ball .ball-view-inner {
	padding: 0 5px;
	opacity: 0;
	visibility: hidden;
	transform: scale(0);
}
#ball .ball-view-inner i {
	font-size: 19px;
}


/* Ball drag 
============= */
#ball.ball-drag {
	background-color: var(--tt-ball-bg-color);
	border-color: var(--tt-ball-bg-color);
}
#ball .ball-drag-inner {
	position: absolute;
	display: block;
	inset: 0;
	font-size: 19px;
	color: var(--tt-ball-color);
	line-height: 1;
}
#ball .ball-drag-inner::before,
#ball .ball-drag-inner::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);

	/* Font Awesome */
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}
#ball .ball-drag-inner::before {
	content: "\f060"; /* Font Awesome */
	left: 20%;
}
#ball .ball-drag-inner::after {
	content: "\f061"; /* Font Awesome */
	right: 20%;
}


/* Ball drag mouse down (for Swiper sliders)
======================== */
#ball.ball-drag-mouse-down {
	background-color: transparent;
	border-color: #FFF;
}
#ball .ball-drag-mouse-down-inner {
	position: absolute;
	display: block;
	inset: 0;
	color: #FFF;
}
#ball .ball-drag-mouse-down-inner::before,
#ball .ball-drag-mouse-down-inner::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);

	/* Font Awesome */
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}
#ball .ball-drag-mouse-down-inner::before {
	content: "\f060"; /* Font Awesome */
	left: -30px;
}
#ball .ball-drag-mouse-down-inner::after {
	content: "\f061"; /* Font Awesome */
	right: -30px;
}


/* Ball arrow 
============== */
#ball.ball-arrow {
	background-color: var(--tt-ball-bg-color);
	border-color: var(--tt-ball-bg-color);
}
#ball .ball-arrow-left,
#ball .ball-arrow-right {
	font-size: 24px;
	color: var(--tt-ball-color);
	line-height: 1;
}
#ball .ball-arrow-left::before,
#ball .ball-arrow-right::before {

	/* Font Awesome */
	font-family: "Font Awesome 5 Free";
	content: "\f061";
	font-weight: 900;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}
#ball .ball-arrow-left::before {
	content: "\f060";
}
#ball .ball-arrow-right::before {
	content: "\f061";
}


/* Ball close 
============== */
#ball.ball-close {
	opacity: 1 !important;
	border-color: var(--tt-light-color);
}
#ball .ball-close-inner {
	position: absolute;
	padding: 0 5px;
	text-align: center;
	font-size: 21px;
	font-weight: 600;
	color: var(--tt-light-color);
	line-height: 1;
}


/* Magnetic cursor
=================== */
.magnetic-wrap {
	position: relative;
	display: inline-block;
}
#ball.magnetic-active {
	border-color: var(--tt-ball-magnetic-color);
}


/* ------------------------------------------------------------- *
 * Headings
/* ------------------------------------------------------------- */

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	margin-top: 0px;
	margin-bottom: 30px;
	font-weight: bold;
	font-weight: 600;
	color: inherit;
	text-wrap: balance;
}
.h1, .h2, .h3, h1, h2, h3 {
	line-height: 1.15;
}
.h4, .h5, .h6, h4, h5, h6 {
	line-height: 1.3;
}

.h1, h1 { font-size: clamp(38px, 5vw, 52px); }
.h2, h2 { font-size: clamp(34px, 4vw, 46px); }
.h3, h3 { font-size: clamp(30px, 3vw, 40px); }
.h4, h4 { font-size: clamp(26px, 3vw, 34px); }
.h5, h5 { font-size: clamp(22px, 2vw, 28px); }
.h6, h6 { font-size: clamp(19px, 2vw, 24px); }

/* with class "border-bottom" */
.h1.border-bottom, 
.h2.border-bottom, 
.h3.border-bottom, 
.h4.border-bottom, 
.h5.border-bottom, 
.h6.border-bottom, 
h1.border-bottom, 
h2.border-bottom, 
h3.border-bottom, 
h4.border-bottom, 
h5.border-bottom, 
h6.border-bottom {
	padding-bottom: 20px;
}


/* ------------------------------------------------------------- *
 * Figure
/* ------------------------------------------------------------- */

figure {
	position: relative;
	display: block;
	padding: 0;
	margin: 0;
	border: none;
	box-shadow: none;
	outline: none;
}

/* figure image */
figure img {
	display: block;
	width: 100%;
	height: auto;
}

/* figure caption */
figcaption {
	--_figcaption-bg: rgb(0 0 0 / 60%);
	--_figcaption-filter: blur(10px);
	--_figcaption-absolute-right: 5%;
	--_figcaption-absolute-bottom: 5%;
	--_figcaption-absolute-color: #FFF;

	position: relative;
	max-width: 600px;
	padding: 12px;
	font-size: 13px;
	z-index: 9;
	line-height: 1.3;
	border-radius: 6px;
}
@media (min-width: 992px) {
	figcaption {
		position: absolute;
		right: var(--_figcaption-absolute-right);
		bottom: var(--_figcaption-absolute-bottom);
		margin-left: var(--_figcaption-absolute-right);
		background-color: var(--_figcaption-bg);
		backdrop-filter: var(--_figcaption-filter);
		color: var(--_figcaption-absolute-color);
	}
}
figcaption .figcaption-inner {
}
figcaption a {
	color: var(--_figcaption-absolute-color);
	text-decoration: underline;
}
figcaption a:hover,
figcaption a:focus {
	color: var(--_figcaption-absolute-color);
	opacity: .9;
}


/* ------------------------------------------------------------- *
 * Body inner
/* ------------------------------------------------------------- */

#body-inner {
	position: relative;
	overflow: hidden;
	height: 100%;
	min-height: 100vh;
	min-height: 100svh;
}


/* ------------------------------------------------------------- *
 * Content wrap
/* ------------------------------------------------------------- */

#tt-content-wrap {
	position: relative;
	overflow: hidden;
}


/* ------------------------------------------------------------- *
 * Page content
/* ------------------------------------------------------------- */

#tt-page-content {
}


/* -------------------------------------------------------------- *
 * Page boxed layout
/* -------------------------------------------------------------- */

.tt-wrap {
	max-width: 1282px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}

.tt-wrap-fluid {
	width: 100%;
	max-width: 1640px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 3.5vw;
	padding-right: 3.5vw;
}

/* Adding extra space to the left and right */
@media (min-width: 992px) and (max-width: 1360px) {
	.tt-wrap {
		padding-left: 7vw;
		padding-right: 7vw;
	}
	.tt-wrap-fluid {
		padding-left: 7vw;
		padding-right: 7vw;
	}
}
@media (max-width: 991px) {
	.tt-wrap-fluid {
		padding-left: 7vw;
		padding-right: 7vw;
	}
}

/* Nested tt-wrap */
.tt-wrap .tt-wrap {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}


/* ------------------------------------------------------------- *
 * Header
/* ------------------------------------------------------------- */

#tt-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 10px 0;
	z-index: 999;
}

/* Header position fixed */
#tt-header.tt-header-fixed {
	position: fixed; 
}

/* Hide header on scroll down and show on scroll up */
#tt-header.tt-header-scroll {
	position: fixed;
	transform: translate3d(0, 0, 0);
	transition: transform .4s ease-in-out;
}
body:not(.tt-m-menu-open) #tt-header.tt-header-scroll.tt-fly-up {
	transform: translate3d(0, -101%, 0);
}

/* Header inner */
.tt-header-inner {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
	margin-top: 20px;
	transition: margin .3s;
}
@media (max-width: 1024px) {
	.tt-header-inner {
		margin-top: 0;
	}
}

.tt-header-inner:not(.tt-wrap) {
	padding-left: 3.5%;
	padding-right: 3.5%;
}

/* Header filled */
#tt-header.tt-filled {
	border-bottom: 1px solid var(--tt-border-color);
}
#tt-header::before {
	position: absolute;
	content: "";
	inset: 0;
	z-index: -1;
	transition: background-color .3s;
}
#tt-header.tt-filled::before {
	background-color: var(--tt-bg-color);
}

@media (min-width: 1025px) {
	#tt-header.tt-filled .tt-header-inner {
		margin-top: 0;
	}
}

/* Header columns */
.tt-header-col {
	display: flex;
	align-items: center;
}

.tt-header-col-left {
}
.tt-header-col-center {
	margin-left: auto;
}
.tt-header-col-right {
}
@media (max-width: 1024px) {
	.tt-header-col-right {
		flex-direction: row-reverse;
		justify-content: flex-start;
	}
}


/* Header layout-2 
=================== */
#tt-header.tt-header-alter .tt-header-inner {
	justify-content: space-between;
}
#tt-header.tt-header-alter .tt-header-col-left {
	flex: 1;
	justify-content: flex-start;
}
#tt-header.tt-header-alter .tt-header-col-center {
	flex: 3;
	justify-content: center;
	margin-left: 0;
}
#tt-header.tt-header-alter .tt-header-col-right {
	flex: 1;
	justify-content: flex-start;
	flex-direction: row-reverse;
	margin-left: 0;
}
@media (max-width: 1024px) {
	#tt-header.tt-header-alter .tt-header-col-center {
		flex: 0;
	}
}


/* Header logo 
=============== */
.tt-logo {
	position: relative;
	margin-right: auto;
	line-height: 1;
	pointer-events: initial;
	z-index: 9;
}
.tt-logo a {
	display: inline-block;
	font-size: 21px;
	color: #222;
	text-decoration: none;
}
.tt-logo img {
	max-height: 34px; /* You may need to change the img height to match your logo type! */
}
.tt-logo-light {
	display: none;
}
.tt-text-logo {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	color: var(--tt-text-color);
	line-height: 1;
	letter-spacing: -0.03em;
}
.tt-text-logo-main {
	display: inline-flex;
	align-items: flex-end;
	font-size: 34px;
	font-weight: 800;
	line-height: .78;
	letter-spacing: -0.065em;
	text-transform: uppercase;
	transform: scaleY(.88);
	transform-origin: left bottom;
}
.tt-text-logo-sub {
	display: block;
	margin-left: 2px;
	font-size: 9.5px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .095em;
	text-transform: uppercase;
	white-space: nowrap;
}
.tt-text-logo-dot {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: .3em;
	height: .3em;
	margin-left: .16em;
	margin-bottom: .02em;
	background-color: #16171a;
	border-radius: 50%;
	transform-origin: left bottom;
	transition: transform .35s cubic-bezier(.16, 1, .3, 1);
}
.tt-text-logo-arrow {
	position: absolute;
	inset: 18%;
	display: block;
	width: 64%;
	height: 64%;
	opacity: 0;
	transform: translate(-28%, 28%) scale(.35);
	transform-origin: left bottom;
	transition: opacity .25s ease, transform .35s cubic-bezier(.16, 1, .3, 1);
}
.tt-text-logo-arrow path {
	fill: none;
	stroke: #fff;
	stroke-width: 2.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.tt-logo a:hover .tt-text-logo-dot {
	transform: translate(.1em, -.14em) scale(2.15);
}
.tt-logo a:hover .tt-text-logo-arrow {
	opacity: 1;
	transform: translate(0, 0) scale(1);
}

/* Logo for small screens */
@media (max-width: 1024px) {
	.tt-logo img {
		max-height: 30px; /* You may need to change the img height to match your logo type! */
	}
	.tt-text-logo-main {
		font-size: 31px;
	}
	.tt-text-logo-sub {
		font-size: 8.5px;
		letter-spacing: .085em;
	}
}


/* Header button
================= */
#tt-header .tt-magnetic-btn {
	margin: 0;
}
#tt-header .tt-btn {
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 30px;
	padding-left: 24px;
	padding-right: 24px;
	height: 42px;
	font-size: 16px;
}

/* Header language switch
========================= */
.tt-lang-switch {
	position: relative;
	display: flex;
	align-items: center;
	margin-left: 10px;
}
@media (min-width: 1025px) {
	.tt-lang-switch {
		top: 2px;
	}
}
.tt-lang-switch-inner {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 4px;
	line-height: 1;
	font-size: 15px;
	cursor: pointer;
	border-radius: 100%;
	transition: background-color .3s, color .3s;
}
.tt-lang-switch-icon {
	display: inline-flex;
	width: 100%;
	height: 100%;
}
.tt-lang-switch-icon svg {
	width: 100%;
	height: auto;
	fill: none;
	stroke: var(--tt-dark-color);
}
.tt-lang-switch-menu {
	position: absolute;
	top: calc(100% + 14px);
	right: 0;
	min-width: 220px;
	padding: 10px;
	background-color: rgba(247, 243, 235, .98);
	border: 1px solid rgba(22, 23, 26, .12);
	border-radius: 18px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
	z-index: 30;
}
.tt-lang-switch.active .tt-lang-switch-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.tt-lang-switch-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 12px;
	color: #585858;
	border-radius: 12px;
	transition: background-color .2s ease, color .2s ease;
}
.tt-lang-switch-item:hover,
.tt-lang-switch-item.active {
	background-color: rgba(22, 23, 26, .06);
	color: #16171a;
}
.tt-lang-switch-item.active {
	font-weight: 700;
}
.tt-lang-switch-item.is-disabled {
	opacity: .42;
	cursor: not-allowed;
	pointer-events: none;
}
.tt-lang-flag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	font-size: 18px;
	line-height: 1;
}
.tt-lang-flag img {
	display: block;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	object-fit: cover;
	filter: saturate(.58) contrast(.92) brightness(1.04);
	opacity: .82;
	transition: filter .25s ease, opacity .25s ease, transform .25s ease;
}
.tt-lang-switch-item:hover .tt-lang-flag img,
.tt-lang-switch-item.active .tt-lang-flag img {
	filter: saturate(.72) contrast(.96) brightness(1.02);
	opacity: .95;
	transform: translateY(-1px);
}
.tt-lang-name {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
}
@media (max-width: 1024px) {
	.tt-header-col-right,
	#tt-header.tt-header-alter .tt-header-col-right {
		flex-direction: row;
		justify-content: flex-end;
	}
	.tt-lang-switch {
		margin-left: 0;
		margin-right: 14px;
		top: 0;
	}
	.tt-lang-switch-inner {
		width: 36px;
		height: 36px;
		padding: 4px;
	}
	.tt-lang-switch-icon {
		width: 100%;
		height: 100%;
	}
	#tt-m-menu-toggle-btn-wrap {
		order: 3;
	}
	.tt-lang-switch {
		order: 2;
	}
	.tt-style-switch {
		order: 1;
	}
}


/* ------------------------------------------------------------- *
 * Main menu
/* ------------------------------------------------------------- */

/* Main menu (desktop)
======================= */
@media (min-width: 1025px) {
	.tt-main-menu {
		pointer-events: initial;
	}
	.tt-main-menu-content {
	}

	.tt-main-menu-list {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		gap: clamp(0px, .6vw, 12px);
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.tt-main-menu-list > li {
		flex: 0 0 auto;
		margin-right: 0;
	}
	.tt-main-menu-list > li:first-child {
		margin-left: 0;
		padding-left: 0;
	}
	.tt-main-menu-list > li:last-child {
		margin-right: 0;
		padding-right: 0;
	}
	.tt-main-menu-list > li > a,
	.tt-main-menu-list > li > .tt-submenu-trigger > a {
		position: relative;
		display: block;
		padding: 7px 16px 7px 16px;
		font-size: 19px;
		font-weight: bold;
		font-weight: 500;
		color: var(--tt-text-color);
		line-height: 1;
		white-space: nowrap;
		border-radius: 100px;
		box-shadow: inset 0 0 0 0 var(--tt-text-color);
		transition: color 0.2s, box-shadow 0.2s;
	}
	
	/* Main menu hover */
	.tt-main-menu-list > li > a:hover,
	.tt-main-menu-list > li > .tt-submenu-trigger > a:hover {
		background-color: var(--tt-accent-bg-color);
		box-shadow: inset 0 0 0 2px var(--tt-dark-color), 2px 4px 0 -1px var(--tt-dark-color);
	}

	/* Main menu active */
	.tt-main-menu-list > li.active > a,
	.tt-main-menu-list > li.active > .tt-submenu-trigger > a {
		background-color: var(--tt-accent-bg-color);
		box-shadow: inset 0 0 0 2px var(--tt-dark-color), 2px 4px 0 -1px var(--tt-dark-color);
	}


	/* Submenu 
	============ */
	.tt-submenu-wrap {
		position: relative;
	}
	.tt-submenu-trigger {
		position: relative;
	}
	.tt-submenu-trigger.tt-no-first-click::before {
		position: absolute;
		display: block;
		content: "";
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 999;
	}
	.tt-submenu {
		position: absolute;
		display: block !important;
		top: 100%;
		left: 0;
		width: auto;
		min-width: 310px;
		text-align: left;
		visibility: hidden;
		opacity: 0;
		z-index: 99999;
		transform: translate3d(0, 10px, 0);
		transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, transform 0.3s ease-in-out;
	}
	.tt-submenu-master > .tt-submenu {
		padding-top: 21px;
	}

	/* Open submenu on hover */
	.tt-submenu-wrap.tt-submenu-open > .tt-submenu {
		visibility: visible;
		opacity: 1;
		transform: translate3d(0, 0, 0);
		transition-delay: .1s;
	}

	/* Submenu links */
	.tt-submenu-list {
		background-color: var(--tt-sub-menu-bg-color);
		margin: 0;
		padding: 15px 0;
		list-style: none;
		border-radius: 10px;
	}
	.tt-submenu-list li {
		width: 100%;
	}
	.tt-submenu-list li:first-child {
	}
	.tt-submenu-list li:last-child {
	}
	.tt-submenu-list li a {
		position: relative;
		display: block;
		padding: 8px 25px 8px 20px;
		text-decoration: none;
		font-size: 16px;
		font-weight: normal;
		font-weight: 400;
		line-height: 1.2;
		color: var(--tt-sub-menu-link-color);
		white-space: nowrap;
		transition: color .2s;
	}
	.tt-submenu-list > li a:hover, 
	.tt-submenu-list > li > .tt-submenu-trigger:hover a, 
	.tt-submenu-list > li.active > a, 
	.tt-submenu-list > li.active > .tt-submenu-trigger a {
		color: var(--tt-sub-menu-link-hover-color);
	}

	/* Set submenu position to right on last menu list element */
	/*.tt-main-menu-list > li:last-child > .tt-submenu {
		left: auto;
		right: 0;
	}*/

	/* Submenu toggle */
	.tt-m-caret {
		display: none;
	}

	/* Submenu */
	.tt-submenu .tt-submenu-wrap > .tt-submenu { 
		left: 100%;
		right: auto;
		margin-top: -50px;
		padding-left: 2px;
		padding-right: 2px;
	}

	/* Caret */
	.tt-submenu-trigger > a::after {
		margin-left: 4px;
		margin-bottom: 2px;
		font-size: 10px;
		line-height: 1;

		font-family: "Font Awesome 6 Free";
		content: "\f107";
		font-weight: 900;
		display: inline-block;
		font-style: normal;
		font-variant: normal;
		text-rendering: auto;
		-webkit-font-smoothing: antialiased;
	}

	/* Caret in Submenus */
	.tt-submenu-wrap .tt-submenu-wrap .tt-submenu-trigger > a::after {
		position: absolute;
		right: 10px;
		top: 50%;
		font-size: 10px;
		transform: translate3d(0, -50%, 0) rotate(-90deg);
	}
	.tt-submenu-wrap .tt-submenu-wrap .tt-submenu-trigger > a:hover::after {
	}

	/* Hide ".tt-submenu-trigger-m" on desktop */
	.tt-submenu-trigger .tt-submenu-trigger-m {
		display: none;
	}
}
@media (min-width: 1025px) and (max-width: 1600px) {
	.tt-main-menu-list > li > a,
	.tt-main-menu-list > li > .tt-submenu-trigger > a {
		padding-right: 12px;
		padding-left: 12px;
		font-size: clamp(17px, 1.12vw, 19px);
	}
}
@media (max-width: 1400px) {
	.tt-main-menu-list {
		gap: clamp(0px, .35vw, 5px);
	}
	.tt-main-menu-list > li {
		margin: 0;
	}
	.tt-main-menu-list > li > a, 
	.tt-main-menu-list > li > .tt-submenu-trigger > a {
		font-size: 17px;
	}
}
@media (min-width: 1025px) and (max-width: 1320px) {
	.tt-main-menu-list > li > a,
	.tt-main-menu-list > li > .tt-submenu-trigger > a {
		padding-right: 10px;
		padding-left: 10px;
		font-size: 15px;
		white-space: nowrap;
	}
}

@media (min-width: 1025px) and (max-width: 1160px) {
	.tt-header-inner:not(.tt-wrap) {
		padding-right: 2.4%;
		padding-left: 2.4%;
	}
	.tt-main-menu-list > li > a,
	.tt-main-menu-list > li > .tt-submenu-trigger > a {
		padding-right: 7px;
		padding-left: 7px;
		font-size: 14px;
	}
	#tt-header .tt-btn {
		margin-left: 14px;
		padding-right: 16px;
		padding-left: 16px;
		font-size: 14px;
	}
	.tt-lang-switch {
		margin-left: 6px;
	}
}


/* Mobile menu (for main menu) 
================================== */
@media (min-width: 1025px) {
	#tt-m-menu-toggle-btn-wrap { /* Hide on desktop */
		display: none;
	}
}

/* Show mobile menu on small screens only */
@media (max-width: 1024px) {
	.tt-main-menu {
		pointer-events: initial;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		height: 100svh;
		background-color: var(--tt-bg-color);
		overflow: hidden;
		visibility: hidden;
		opacity: 0;
	}
	.tt-main-menu-holder {
		position: relative;
		height: 100%;
		margin-right: -17px;
		overflow-y: scroll;
		z-index: 2;
	}
	body.is-mobile .tt-main-menu-holder {
	}
	.tt-main-menu-inner {
		display: table;
		width: 100%;
		height: 100%;
		padding: 20% 7%;
	}
	.tt-main-menu-content {
		height: 100%;
		display: table-cell;
		vertical-align: middle;
	}

	/* Mobile menu list */
	.tt-main-menu-list {
		display: inline-block;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.tt-main-menu-list > li {
		margin-top: 12px;
		margin-bottom: 12px;
	}
	.tt-main-menu-list > li:first-child {
		margin-top: 0;
	}
	.tt-main-menu-list > li:last-child {
		margin-bottom: 0;
	}
	.tt-main-menu-list > li > a,
	.tt-main-menu-list > li > .tt-submenu-trigger > a {
		position: relative;
		display: inline-block;
		font-size: 34px;
		font-weight: bold;
		font-weight: 500;
		line-height: 1.2;
		color: var(--tt-text-color);
	}
	@media (max-width: 767px) {
		.tt-main-menu-inner {
			padding-top: 35%;
			padding-bottom: 35%;
		}
	}

	/* Mobile menu list active (master parent) */
	.tt-main-menu-list > li.active > a,
	.tt-main-menu-list > li.active > .tt-submenu-trigger a,
	.tt-main-menu-list > li > .tt-submenu-trigger.tt-m-submenu-open a,
	.tt-main-menu-list > li.active > .tt-submenu-trigger .tt-m-caret {
		color: var(--tt-text-color);
	}

	/* Mobile submenu */
	.tt-submenu-wrap {
		position: relative;
	}
	.tt-submenu-trigger {
		position: relative;
		display: inline-block;
	}

	.tt-submenu-trigger > a {
		position: relative;
		z-index: 1;
	}
	.tt-submenu-trigger .tt-submenu-trigger-m {
		position: absolute;
		display: block;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 2;
		cursor: pointer;
	}

	.tt-submenu {
		display: none;
		position: relative;
		top: auto;
		left: 0 !important;
		min-width: 100%;
		background-color: transparent;
		margin-top: 10px;
		margin-bottom: 20px;
		color: #a9a9a9;
	}

	.tt-submenu-list {
		margin: 0 0 0 20px;
		padding: 0;
		list-style: none;
	}
	.tt-submenu-list .tt-submenu {
		margin-top: 10px;
	}
	.tt-submenu-list > li {
	}
	.tt-submenu-list > li a {
		display: inline-block;
		padding-top: 5px;
		padding-bottom: 5px;
		font-size: 18px;
		font-weight: 500;
		color: var(--tt-text-color);
		-webkit-text-stroke: 0;
	}

	/* Mobile submenu list hover/active */
	.tt-submenu-list > li a:hover,
	.tt-submenu-list > li > .tt-submenu-trigger:hover a,
	.tt-submenu-list > li > .tt-submenu-trigger:hover .tt-m-caret,
	.tt-submenu-list > li > .tt-submenu-trigger.tt-m-submenu-open a,
	.tt-submenu-list > li > .tt-submenu-trigger.tt-m-submenu-open .tt-m-caret,
	.tt-submenu-list > li.active > a,
	.tt-submenu-list > li.active > .tt-submenu-trigger a,
	.tt-submenu-list > li.active > .tt-submenu-trigger .tt-m-caret {
		color: var(--tt-text-color);
	}

	/* Mobile submenu caret */
	.tt-m-caret {
		position: absolute;
		top: 50%;
		left: 100%;
		width: 40px;
		height: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 11px;
		color: var(--tt-text-color);
		cursor: pointer;
		z-index: 9;
		border-radius: 100%;
		transform: translate3d(0, -50%, 0);
	}
	.tt-m-caret::after {
		font-family: "Font Awesome 6 Free";
		content: "\f107";
		font-weight: 900;
		display: inline-block;
		font-style: normal;
		font-variant: normal;
		text-rendering: auto;
		-webkit-font-smoothing: antialiased;
		transition: all 0.2s ease-in-out;
	}
	.tt-submenu-trigger.tt-m-submenu-open .tt-m-caret::after {
		transform: rotate(180deg);
	}

	/* Mobile submenu caret */
	.tt-submenu-list > li > .tt-submenu-trigger .tt-m-caret {
		color: var(--tt-text-color);
	}

	/* Mobile menu toggle button */
	#tt-m-menu-toggle-btn-wrap {
		position: relative;
		display: flex;
		align-items: center;
		pointer-events: initial;
		cursor: pointer;
		z-index: 9;
	}
	.tt-m-menu-toggle-btn-holder {
		float: left;
	}

	.tt-m-menu-toggle-btn {
		position: relative;
		display: block;
		width: 40px;
		height: 40px;
	}
	.tt-m-menu-toggle-btn span {
		position: absolute;
		display: block;
		top: 50%;
		left: 50%;
		height: 2px;
		width: 20px;
		background-color: transparent;
		transform: translate(-50%, -50%);
		transition: all 0.3s ease-in-out;
	}
	.tt-m-menu-toggle-btn span::before,
	.tt-m-menu-toggle-btn span::after {
		position: absolute;
		display: block;
		content: '';
		height: 2px;
		width: 20px;
		background-color: var(--tt-text-color);
		transition: all 0.3s ease-in-out;
	}
	.tt-m-menu-toggle-btn span::before {
		top: -4px;
	}
	.tt-m-menu-toggle-btn span::after {
		top: auto;
		bottom: -4px;
	}

	/* Toggle button text */
	.tt-m-menu-toggle-btn-text {
		float: left;
		padding-right: 2px;
		overflow: hidden;
		text-align: right;
		font-size: 17px;
		font-weight: bold;
		font-weight: 500;
		color: var(--tt-text-color);
	}
	body.tt-m-menu-open .tt-m-menu-toggle-btn-text .tt-m-menu-text-menu {
		display: none;
	}

	/* Toggle button close */
	body.tt-m-menu-open .tt-m-menu-toggle-btn span {
		width: 20px;
		background-color: transparent;
	}
	body.tt-m-menu-open .tt-m-menu-toggle-btn span::before {
		top: 0;
		width: 20px;
		transform: rotate(45deg);
	}
	body.tt-m-menu-open .tt-m-menu-toggle-btn span::after {
		bottom: 0;
		width: 20px;
		transform: rotate(-45deg);
	}

	.tt-m-menu-toggle-btn-text .tt-m-menu-text-close {
		display: none;
	}
	body.tt-m-menu-open .tt-m-menu-toggle-btn-text .tt-m-menu-text-close {
		display: block;
	}

	/* Disable menu toggle button click until the animations last */
	body.tt-m-menu-toggle-no-click #tt-m-menu-toggle-btn-wrap {
		pointer-events: none;
	}

	/* Align mobile menu to center */
	.tt-main-menu.tt-m-menu-center .tt-main-menu-content {
		text-align: center;
	}
	.tt-main-menu.tt-m-menu-center .tt-submenu-list {
		margin: 0;
	}
}


/* ------------------------------------------------------------- *
 * Page header
/* ------------------------------------------------------------- */

#page-header {
	position: relative;
}

.page-header-inner {
	position: relative;
	width: 100%;
	padding-top: 220px;
	padding-bottom: 180px;
	z-index: 2;
}
.page-header-inner {
	padding-left: 15vw;
	padding-right: 10vw;
}
@media (max-width: 1500px) {
	.page-header-inner {
		padding-left: 140px;
		padding-right: 120px;
	}
}
@media (max-width: 768px) {
	.page-header-inner {
		padding-top: 120px;
		padding-bottom: 180px;
		padding-left: 7vw;
		padding-right: 20px;
	}
}


/* Page header image
===================== */
.ph-image {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: -1;
}
.ph-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}
.pump-service-hero-video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}
.ph-image-inner {
	width: 100%;
	height: 100%;
}
.page-header.ph-image-parallax .ph-image-inner {
	will-change: transform;
}
[class*="ph-image-cover-"] .ph-image-inner::before {
	position: absolute;
	display: block;
	content: "";
	top: -1px;
	left: -1px;
	bottom: -1px;
	right: -1px;
	background-color: #040404;
	z-index: 1;
	opacity: 0;
}
.ph-image-cover-0 .ph-image-inner::before { opacity: 0; }
.ph-image-cover-0-5 .ph-image-inner::before { opacity: .05; }
.ph-image-cover-1 .ph-image-inner::before { opacity: .1; }
.ph-image-cover-1-5 .ph-image-inner::before { opacity: .15; }
.ph-image-cover-2 .ph-image-inner::before { opacity: .2; }
.ph-image-cover-2-5 .ph-image-inner::before { opacity: .25; }
.ph-image-cover-3 .ph-image-inner::before { opacity: .3; }
.ph-image-cover-3-5 .ph-image-inner::before { opacity: .35; }
.ph-image-cover-4 .ph-image-inner::before { opacity: .4; }
.ph-image-cover-4-5 .ph-image-inner::before { opacity: .45; }
.ph-image-cover-5 .ph-image-inner::before { opacity: .5; }
.ph-image-cover-5-5 .ph-image-inner::before { opacity: .55; }
.ph-image-cover-6 .ph-image-inner::before { opacity: .6; }
.ph-image-cover-6-5 .ph-image-inner::before { opacity: .65; }
.ph-image-cover-7 .ph-image-inner::before { opacity: .7; }
.ph-image-cover-7-5 .ph-image-inner::before { opacity: .75; }
.ph-image-cover-8 .ph-image-inner::before { opacity: .8; }
.ph-image-cover-8-5 .ph-image-inner::before { opacity: .85; }
.ph-image-cover-9 .ph-image-inner::before { opacity: .9; }
.ph-image-cover-9-5 .ph-image-inner::before { opacity: .95; }

/* Image black & white */
.ph-image.ph-image-grayscale {
	filter: grayscale(1);
}


/* Page header video
===================== */
.ph-video {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: -1;
}
.ph-video-inner {
	width: 100%;
	height: 100%;
}
.page-header.ph-image-parallax .ph-video-inner {
	will-change: transform;
}
.ph-video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

[class*="ph-video-cover-"] .ph-video-inner::before {
	position: absolute;
	display: block;
	content: "";
	top: -1px;
	left: -1px;
	bottom: -1px;
	right: -1px;
	background-color: #040404;
	z-index: 1;
	opacity: 0;
}
.ph-video-cover-0 .ph-video-inner::before { opacity: 0; }
.ph-video-cover-0-5 .ph-video-inner::before { opacity: .05; }
.ph-video-cover-1 .ph-video-inner::before { opacity: .1; }
.ph-video-cover-1-5 .ph-video-inner::before { opacity: .15; }
.ph-video-cover-2 .ph-video-inner::before { opacity: .2; }
.ph-video-cover-2-5 .ph-video-inner::before { opacity: .25; }
.ph-video-cover-3 .ph-video-inner::before { opacity: .3; }
.ph-video-cover-3-5 .ph-video-inner::before { opacity: .35; }
.ph-video-cover-4 .ph-video-inner::before { opacity: .4; }
.ph-video-cover-4-5 .ph-video-inner::before { opacity: .45; }
.ph-video-cover-5 .ph-video-inner::before { opacity: .5; }
.ph-video-cover-5-5 .ph-video-inner::before { opacity: .55; }
.ph-video-cover-6 .ph-video-inner::before { opacity: .6; }
.ph-video-cover-6-5 .ph-video-inner::before { opacity: .65; }
.ph-video-cover-7 .ph-video-inner::before { opacity: .7; }
.ph-video-cover-7-5 .ph-video-inner::before { opacity: .75; }
.ph-video-cover-8 .ph-video-inner::before { opacity: .8; }
.ph-video-cover-8-5 .ph-video-inner::before { opacity: .85; }
.ph-video-cover-9 .ph-video-inner::before { opacity: .9; }
.ph-video-cover-9-5 .ph-video-inner::before { opacity: .95; }

/* Video black & white */
.ph-video.ph-video-grayscale {
	filter: grayscale(1);
}


/* Page header caption
======================= */
.ph-caption {
}
.ph-caption-inner {
}

/* Page header caption subtitle */
.ph-caption-subtitle {
	margin-bottom: 30px;
	font-size: calc(15px + 0.2vw);
	font-weight: 500;
	line-height: 1.2;
}
.ph-service-labels {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 9px;
	margin-top: clamp(28px, 3vh, 46px);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 24px;
	max-width: 720px;
}
.ph-service-labels span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 13px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--tt-text-color);
	border: 1px solid rgba(22, 23, 26, .16);
	border-radius: 999px;
	background: rgba(255, 255, 255, .18);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .26), 0 10px 30px rgba(22, 23, 26, .06);
	backdrop-filter: blur(12px);
	opacity: 0;
	transform: translateY(12px) scale(.92);
	animation: phServiceLabelIn .7s cubic-bezier(.16, 1, .3, 1) forwards;
	animation-delay: calc(1.25s + var(--i) * .08s);
}
@keyframes phServiceLabelIn {
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}
#page-header .ph-caption-description {
	opacity: 0;
	animation: phDescriptionIn .7s cubic-bezier(.16, 1, .3, 1) forwards;
	animation-delay: 2.25s;
}

#page-header.ph-cap-xlg .ph-service-labels + .ph-caption-title + .ph-caption-description {
	margin-top: clamp(28px, 3.2vh, 38px);
	animation-delay: 1.65s;
}
.pump-hero-mobile-cta {
	display: none;
}
.pump-hero-desktop-cta {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 34px;
	opacity: 0;
	animation: phDescriptionIn .8s cubic-bezier(.16, 1, .3, 1) forwards;
	animation-delay: 2s;
}
@media (min-width: 1025px) {
	.pump-hero-desktop-cta {
		display: flex;
	}
	.pump-hero-desktop-cta .tt-btn {
		width: 230px;
		min-width: 230px;
		justify-content: center;
	}
	.pump-hero-desktop-cta .pump-hero-calculator-button {
		width: 290px;
		min-width: 290px;
		padding-inline: 24px;
	}
}
@keyframes phDescriptionIn {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@media (max-width: 768px) {
	.ph-service-labels {
		gap: 7px;
		max-width: 420px;
	}
	.ph-service-labels span {
		padding: 7px 10px;
		font-size: 10px;
		letter-spacing: .06em;
	}
	.pump-hero-mobile-cta {
		display: flex;
		flex-direction: column;
		align-items: center;
		row-gap: clamp(12px, 1.8vh, 16px);
		column-gap: 0;
		margin-top: 30px;
	}
	.pump-hero-mobile-cta .tt-btn {
		min-width: 220px;
		justify-content: center;
		margin: 0 !important;
		transform: none;
	}
	.pump-hero-mobile-services {
		width: 220px !important;
		min-width: 220px !important;
		height: 48px !important;
		min-height: 48px !important;
		padding-left: 22px;
		padding-right: 22px;
	}
	.pump-hero-mobile-services span {
		font-size: 14px;
	}
}

.pump-hero-calculator-button .tt-btn-icon {
	margin-left: 10px;
}

/* Page header caption title */
.ph-caption-title {
	margin: 0;
	font-size: calc(24px + 3vw);
	font-weight: bold;
	font-weight: 600;
	line-height: 1.1;
	font-kerning: none;
	text-rendering: optimizeSpeed;
	text-wrap: unset !important;
}
@media (max-width: 414px) {
	.ph-caption-title {
		font-size: 44px !important;
	}
}

@media (max-width: 991px) {
	.ph-caption-title br {
		display: none;
	}
}

/* Page header caption description */
.ph-caption-description {
	margin-top: 50px;
	font-size: 19px;
	font-weight: normal;
	line-height: 1.3;
}
@media (max-width: 1024px) {
	.ph-caption-description {
		margin-top: 40px;
	}
}

/* Page header caption categories */
.ph-caption-categories {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 40px;
}
.ph-caption-title + .ph-caption-categories {
	margin-top: 30px;
	margin-bottom: 0;
}
.ph-caption-category {
	position: relative;
	display: block;
	padding: 3px 10px;
	font-size: calc(13px + 0.1vw);
	line-height: 1.3;
	border-radius: 100px;
	border: 1px solid var(--tt-dark-color);
	transition: background-color .2s, color .2s, border-color .2s;
}
a.ph-caption-category {
	color: var(--tt-text-color);
}
#page-header .ph-caption-categories a.ph-caption-category:hover, 
#page-header .ph-caption-categories a.ph-caption-category:focus {
	background-color: var(--tt-dark-color);
	color: var(--tt-light-color);
}

body.ph-image-on .ph-caption-category,
body.ph-video-on .ph-caption-category {
	background-color: rgba(255, 255, 255, 0.3);
	backdrop-filter: blur(5px);
	border: none;
}
body.ph-image-on #page-header .ph-caption-categories a.ph-caption-category:hover, 
body.ph-image-on #page-header .ph-caption-categories a.ph-caption-category:focus,
body.ph-video-on #page-header .ph-caption-categories a.ph-caption-category:hover, 
body.ph-video-on #page-header .ph-caption-categories a.ph-caption-category:focus {
	background-color: var(--tt-force-to-light-color);
	color: #16171a;
}

.ph-caption-categories .ph-caption-category ~ .ph-caption-category ~ .ph-caption-category ~ .ph-caption-category {
	visibility: hidden;
	width: 0;
}
.ph-caption-categories .ph-caption-category ~ .ph-caption-category ~ .ph-caption-category ~ .ph-caption-category ~ .ph-caption-category {
	display: none;
}
.ph-caption-categories .ph-caption-category + .ph-caption-category + .ph-caption-category + .ph-caption-category::before {
	position: absolute;
	left: 0;
	bottom: 0;
	content: "...";
	margin-left: 3px;
	visibility: visible;
	pointer-events: none;
}

/* Page header caption meta */
.ph-caption-meta {
	position: relative;
	display: inline-flex;
	margin-top: 20px;
	font-size: 16px;
	font-weight: normal;
	color: currentColor;
	z-index: 9;
}
.ph-cap-meta-published {
}
.ph-cap-meta-posted-by {
	margin-left: 10px;
	font-weight: normal;
}
.ph-cap-meta-posted-by a {
	position: relative;
	color: currentColor;
}
.ph-cap-meta-posted-by a:hover {
	opacity: .8;
}

/* Page header caption sizes */
#page-header.ph-cap-sm .ph-caption-title {
	font-size: calc(24px + 2vw);
	line-height: 1.3;
}

#page-header.ph-cap-lg .ph-caption-title {
	font-size: calc(24px + 4vw);
}

#page-header.ph-cap-xlg .ph-caption-title {
	font-size: calc(24px + 5vw);
}

#page-header.ph-cap-xxlg .ph-caption-title {
	font-size: calc(24px + 7vw);
}

#page-header.ph-cap-xxxlg .ph-caption-title {
	font-size: calc(24px + 9vw);
	line-height: 1;
}
@media (min-width: 1200px) {
	#page-header.ph-cap-xxxlg .ph-caption-subtitle {
		margin-bottom: 40px;
	}
}

#page-header.ph-cap-xxxxlg .ph-caption-title {
	font-size: calc(24px + 11vw);
	line-height: 1;
}
@media (min-width: 1200px) {
	#page-header.ph-cap-xxxxlg .ph-caption-subtitle {
		margin-bottom: 60px;
	}
}


/* Page header image trail effect (on cursor move)
================================== */
.ph-image-trail {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}
.ph-itr-img {
	position: absolute;
	display: block;
	visibility: visible;
	max-width: clamp(180px, 14vw, 320px);
	top: 0;
	left: 0;
	opacity: 0;
	will-change: transform;
	border-radius: clamp(10px, 3vw, 20px);
}


/* Page header center 
====================== */
#page-header.ph-center {
}
#page-header.ph-center .page-header-inner {
	display: flex;
	justify-content: center;
}
#page-header.ph-center .page-header-inner {
	padding-left: 10vw;
	padding-right: 10vw;
}

@media (max-width: 1200px) {
	#page-header.ph-center .page-header-inner {
		padding-left: 100px;
		padding-right: 100px;
	}
}
@media (max-width: 768px) {
	#page-header.ph-center .page-header-inner {
		padding-left: 15px;
		padding-right: 15px;
	}
}

#page-header.ph-center .ph-caption {
	text-align: center;
}
#page-header.ph-center .ph-caption-description {
	margin-left: auto;
	margin-right: auto;
}
#page-header.ph-center .ph-caption-categories {
	justify-content: center;
}

#page-header.ph-wide-caption .ph-caption {
	width: min(1180px, 100%);
}
#page-header.ph-wide-caption .ph-caption-title {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
	font-size: clamp(54px, 7.2vw, 128px);
	line-height: .98;
}
#page-header.ph-wide-caption .ph-caption-description {
	max-width: 860px;
}
@media (max-width: 991px) {
	#page-header.ph-wide-caption .ph-caption-title {
		font-size: clamp(42px, 10vw, 76px);
		line-height: 1.04;
	}
}


/* Page header full height 
=========================== */
@media (min-width: 1025px) {
	#page-header.ph-full {
		display: flex;
		align-items: center;
		width: 100%;
		min-height: 100vh;
		min-height: 100svh;
	}
	#page-header.ph-full .page-header-inner {
		padding-top: 80px;
		padding-bottom: 80px;
	}
}
@media (max-width: 1024px) {
	#page-header.ph-full-m {
		display: flex;
		align-items: center;
		width: 100%;
		min-height: 100vh;
		min-height: 100svh;
	}
	#page-header.ph-full-m .page-header-inner {
		padding-top: 40px;
		padding-bottom: 120px;
	}
}


/* Page header social buttons 
============================== */
.ph-social {
	position: absolute;
	left: 3.5%;
	bottom: 40px;
	z-index: 9;
}
@media (max-width: 1600px) {
	.ph-social {
		bottom: 20px;
	}
	.ph-social .tt-social-buttons > ul > li a {
		width: 40px;
		height: 40px;
	}
}
@media (max-width: 768px) {
	.ph-social .tt-social-buttons:not(.tt-sbtn-inline) > ul {
		display: inline-flex;
		flex-direction: row;
		flex-wrap: wrap;
	}
}


/* Scroll down button  
====================== */
.tt-scroll-down {
	position: absolute;
	bottom: 50px;
	right: 3.5%;
	z-index: 9;
}
@media (max-width: 1600px) {
	.tt-scroll-down {
		bottom: 25px;
	}
}

/* Scroll down element */
.tt-sd-inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	align-items: center;
	width: 70px;
	height: 70px;
	background-color: var(--tt-dark-color);
	color: var(--tt-light-color);
	text-decoration: none;
	border-radius: 100px;
}
@media (max-width: 1024px) {
	.tt-sd-inner {
		width: 50px;
		height: 50px;
	}
}

/* Scroll down arrow */
.tt-sd-arrow {
	height: 40%;
	width: 40%;
}
.tt-sd-arrow svg {
	height: 100%;
	width: 100%;
	fill: var(--tt-light-color);
	transform: rotate(90deg);
}


/* Page header share 
===================== */
.ph-share {
	position: absolute;
	left: 2.5%;
	bottom: 5%;
	z-index: 9;
	cursor: pointer;
}
.ph-share-inner {
}

.ph-share-trigger {
	color: var(--tt-text-color);
}
.ph-share-text {
	font-size: 16px;
	letter-spacing: 1px;
	font-weight: 500;
}
.ph-share-icon {
	font-size: 15px;
}
.ph-share-buttons ul {
	padding: 0;
	margin: 0;
	list-style: none;
}
.ph-share-buttons > ul > li {
}
.ph-share-buttons > ul > li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	line-height: 1;
	font-size: 16px;
	color: var(--tt-text-color);
	transition: color .2s;
}

@media (min-width: 1025px) {
	.ph-share-inner {
		text-align: right;
	}
	.ph-share-trigger {
		position: absolute;
		left: 0;
		bottom: 10px;
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		opacity: 1;
		visibility: visible;
		transition: all 0.3s ease;
	}
	.ph-share-text {
		transform: rotate(-90deg);
	}
	.ph-share-icon {
		margin-top: 20px;
	}
	.ph-share:hover .ph-share-trigger {
		opacity: 0;
		visibility: hidden;
		transform: translate3d(-30px, 0, 0);
	}

	.ph-share-buttons {
		opacity: 0;
		visibility: hidden;
		transform: translate3d(100%, 0, 0);
		transition: all 0.3s ease;
	}
	.ph-share:hover .ph-share-buttons {
		opacity: 1;
		visibility: visible;
		transform: translate3d( 0, 0, 0);
	}
}
@media (max-width: 1024px) {
	.ph-share {
		left: 10px;
		bottom: 2%;
		height: auto;
	}
	.ph-share-inner {
	}
	.ph-share-text {
		margin: 0 0 3px 12px;
	}
	.ph-share-text::after {
		content: ":";
		margin-left: 1px;
	}
	.ph-share-icon {
		display: none;
	}

	.ph-share-buttons ul {
		display: flex;
		flex-wrap: wrap;
	}
	.ph-share-buttons > ul > li a {
		width: 35px;
		height: 35px;
	}
}


/* If the page header background image/video exist (make all elements light for better visibility)
=================================================== */
body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled),
body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) {
	color: var(--tt-force-to-light-color);
}

/* Make logo light */ 
body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-logo-light,
body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-logo-light {
	display: block;
}
body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-logo-dark,
body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-logo-dark {
	display: none;
}
body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-text-logo,
body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-text-logo {
	color: var(--tt-force-to-light-color);
}

/* Make menu items light (for desctop only) */
@media (min-width: 1025px) {
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li > a, 
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li > .tt-submenu-trigger > a,
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li > a, 
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li > .tt-submenu-trigger > a {
		background-color: transparent;
		color: var(--tt-force-to-light-color);
	}
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li > a:hover, 
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li > .tt-submenu-trigger > a:hover,
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li > a:hover, 
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li > .tt-submenu-trigger > a:hover,
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li.active > a, 
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li.active > .tt-submenu-trigger > a,
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li.active > a, 
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li.active > .tt-submenu-trigger > a {
		background-color: transparent;
		box-shadow: inset 0 0 0 2px var(--tt-force-to-light-color), 2px 4px 0 -1px var(--tt-force-to-light-color);
	}

	body.ph-image-on.tt-ph-visible.ph-bg-is-light-on #tt-header:not(.tt-filled) .tt-main-menu-list > li > a:hover, 
	body.ph-image-on.tt-ph-visible.ph-bg-is-light-on #tt-header:not(.tt-filled) .tt-main-menu-list > li > .tt-submenu-trigger > a:hover,
	body.ph-video-on.tt-ph-visible.ph-bg-is-light-on #tt-header:not(.tt-filled) .tt-main-menu-list > li > a:hover, 
	body.ph-video-on.tt-ph-visible.ph-bg-is-light-on #tt-header:not(.tt-filled) .tt-main-menu-list > li > .tt-submenu-trigger > a:hover,
	body.ph-image-on.tt-ph-visible.ph-bg-is-light-on #tt-header:not(.tt-filled) .tt-main-menu-list > li.active > a, 
	body.ph-image-on.tt-ph-visible.ph-bg-is-light-on #tt-header:not(.tt-filled) .tt-main-menu-list > li.active > .tt-submenu-trigger > a,
	body.ph-video-on.tt-ph-visible.ph-bg-is-light-on #tt-header:not(.tt-filled) .tt-main-menu-list > li.active > a, 
	body.ph-video-on.tt-ph-visible.ph-bg-is-light-on #tt-header:not(.tt-filled) .tt-main-menu-list > li.active > .tt-submenu-trigger > a {
		background-color: transparent;
	}
}

/* Make mobile menu trigger light */
body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-m-menu-toggle-btn-text,
body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-m-menu-toggle-btn-text {
	color: var(--tt-force-to-light-color);
}
body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-m-menu-toggle-btn span::before, 
body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-m-menu-toggle-btn span::after,
body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-m-menu-toggle-btn span::before, 
body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-m-menu-toggle-btn span::after {
	background-color: var(--tt-force-to-light-color);
}

/* Make header buttons light */
@media (min-width: 1025px) { 
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-secondary,
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-secondary {
		background-color: var(--tt-force-to-light-color);
	}
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-secondary > *, 
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-secondary > *::after,
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-secondary > *, 
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-secondary > *::after {
		color: #16171a;
	}
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-outline,
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-outline {
		box-shadow: inset 0 0 0 2px var(--tt-force-to-light-color);
	}
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-outline > *, 
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-outline > *::after,
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-outline > *, 
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-outline > *::after {
		color: var(--tt-force-to-light-color);
	}
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-link > *, 
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-link > *::after,
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-link > *, 
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-link > *::after {
		color: var(--tt-force-to-light-color);
	}
	body.ph-image-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-line,
	body.ph-video-on.tt-ph-visible:not(.ph-bg-is-light-on) #tt-header:not(.tt-filled) .tt-btn-line {
		background-color: var(--tt-force-to-light-color);
	}
}

/* Make page header elements light */
body.ph-image-on:not(.ph-bg-is-light-on) #page-header,
body.ph-image-on:not(.ph-bg-is-light-on) #page-header a,
body.ph-video-on:not(.ph-bg-is-light-on) #page-header,
body.ph-video-on:not(.ph-bg-is-light-on) #page-header a {
	color: var(--tt-force-to-light-color);
}

body.ph-image-on:not(.ph-bg-is-light-on) .tt-sd-inner,
body.ph-video-on:not(.ph-bg-is-light-on) .tt-sd-inner {
	background-color: var(--tt-force-to-light-color);
	color: var(--tt-dark-color);
}
body.ph-image-on:not(.ph-bg-is-light-on) .tt-sd-arrow svg,
body.ph-video-on:not(.ph-bg-is-light-on) .tt-sd-arrow svg {
	fill: var(--tt-dark-color);
}

body.ph-image-on:not(.ph-bg-is-light-on) #page-header .tt-social-buttons > ul > li a,
body.ph-video-on:not(.ph-bg-is-light-on) #page-header .tt-social-buttons > ul > li a {
	color: var(--tt-force-to-light-color);
}

body.ph-image-on:not(.ph-bg-is-light-on) .ph-share-trigger,
body.ph-image-on:not(.ph-bg-is-light-on) .ph-share-buttons > ul > li a,
body.ph-video-on:not(.ph-bg-is-light-on) .ph-share-trigger,
body.ph-video-on:not(.ph-bg-is-light-on) .ph-share-buttons > ul > li a {
	color: var(--tt-force-to-light-color);
}

body.ph-image-on:not(.ph-bg-is-light-on) #page-header .ph-caption-meta,
body.ph-video-on:not(.ph-bg-is-light-on) #page-header .ph-caption-meta a {
	color: var(--tt-force-to-light-color);
}

/* Make page header buttons light */
body.ph-image-on:not(.ph-bg-is-light-on) #page-header .tt-btn-secondary,
body.ph-video-on:not(.ph-bg-is-light-on) #page-header .tt-btn-secondary {
	background-color: var(--tt-force-to-light-color);
}
body.ph-image-on:not(.ph-bg-is-light-on) #page-header .tt-btn-secondary > *, 
body.ph-image-on:not(.ph-bg-is-light-on) #page-header .tt-btn-secondary > *::after,
body.ph-video-on:not(.ph-bg-is-light-on) #page-header .tt-btn-secondary > *, 
body.ph-video-on:not(.ph-bg-is-light-on) #page-header .tt-btn-secondary > *::after {
	color: #16171a;
}

body.ph-image-on:not(.ph-bg-is-light-on) #page-header .tt-btn-outline,
body.ph-video-on:not(.ph-bg-is-light-on) #page-header .tt-btn-outline {
	box-shadow: inset 0 0 0 2px var(--tt-force-to-light-color);
}
body.ph-image-on:not(.ph-bg-is-light-on) #page-header .tt-btn-outline > *, 
body.ph-image-on:not(.ph-bg-is-light-on) #page-header .tt-btn-outline > *::after,
body.ph-video-on:not(.ph-bg-is-light-on) #page-header .tt-btn-outline > *, 
body.ph-video-on:not(.ph-bg-is-light-on) #page-header .tt-btn-outline > *::after {
	color: var(--tt-force-to-light-color);
}

body.ph-image-on:not(.ph-bg-is-light-on) #page-header .tt-big-round-ptn-inner,
body.ph-video-on:not(.ph-bg-is-light-on) #page-header .tt-big-round-ptn-inner {
	color: var(--tt-force-to-light-color);
}

body.ph-image-on:not(.ph-bg-is-light-on) #page-header .tt-btn-link > *, 
body.ph-image-on:not(.ph-bg-is-light-on) #page-header .tt-btn-link > *::after,
body.ph-video-on:not(.ph-bg-is-light-on) #page-header .tt-btn-link > *, 
body.ph-video-on:not(.ph-bg-is-light-on) #page-header .tt-btn-link > *::after {
	color: var(--tt-force-to-light-color);
}
body.ph-image-on:not(.ph-bg-is-light-on) #page-header .tt-btn-line,
body.ph-video-on:not(.ph-bg-is-light-on) #page-header .tt-btn-line {
	background-color: var(--tt-force-to-light-color);
}


/* ------------------------------------------------------------- *
 * tt-Section
/* ------------------------------------------------------------- */

.tt-section {
	position: relative;
	padding: 80px 0;
}
@media (max-width: 768px) {
	.tt-section {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}

/* If height-vh classes in use */
.tt-section[class*="height-vh"] {
	display: flex;
	align-items: center;
	height: 100%;
}


/* tt-section background  
========================= */
.tt-section-background {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: 0;
}
.tt-section-background img,
.tt-section-background video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

/* If image parallax and zoom-in is enabled */
.tt-section-background .tt-anim-zoomin-wrap,
.tt-section-background .tt-image-parallax-wrap,
.tt-section-background .tt-image-parallax-inner {
	position: absolute;
	inset: 0;
}

/* tt-section background cover */
.tt-section-background[class*="tt-sbg-cover-"]::before {
	position: absolute;
	display: block;
	content: "";
	top: -1px;
	left: -1px;
	bottom: -1px;
	right: -1px;
	background-color: #040404;
	z-index: 1;
	opacity: 0;
}
.tt-section-background.tt-sbg-cover-0::before { opacity: 0; }
.tt-section-background.tt-sbg-cover-0-5::before { opacity: .05; }
.tt-section-background.tt-sbg-cover-1::before { opacity: .1; }
.tt-section-background.tt-sbg-cover-1-5::before { opacity: .15; }
.tt-section-background.tt-sbg-cover-2::before { opacity: .2; }
.tt-section-background.tt-sbg-cover-2-5::before { opacity: .25; }
.tt-section-background.tt-sbg-cover-3::before { opacity: .3; }
.tt-section-background.tt-sbg-cover-3-5::before { opacity: .35; }
.tt-section-background.tt-sbg-cover-4::before { opacity: .4; }
.tt-section-background.tt-sbg-cover-4-5::before { opacity: .45; }
.tt-section-background.tt-sbg-cover-5::before { opacity: .5; }
.tt-section-background.tt-sbg-cover-5-5::before { opacity: .55; }
.tt-section-background.tt-sbg-cover-6::before { opacity: .6; }
.tt-section-background.tt-sbg-cover-6-5::before { opacity: .65; }
.tt-section-background.tt-sbg-cover-7::before { opacity: .7; }
.tt-section-background.tt-sbg-cover-7-5::before { opacity: .75; }
.tt-section-background.tt-sbg-cover-8::before { opacity: .8; }
.tt-section-background.tt-sbg-cover-8-5::before { opacity: .85; }
.tt-section-background.tt-sbg-cover-9::before { opacity: .9; }
.tt-section-background.tt-sbg-cover-9-5::before { opacity: .95; }


/* If class "tt-sbg-on" is enabled on .tt-section
================================================== */
.tt-sbg-on:not(.tt-sbg-is-light-on) {
	background-color: #222;
	color: #FFF;
}

/* Buttons */
.tt-sbg-on:not(.tt-sbg-is-light-on) .tt-btn-secondary {
	background-color: #FFF;
}
.tt-sbg-on:not(.tt-sbg-is-light-on) .tt-btn-secondary > *, 
.tt-sbg-on:not(.tt-sbg-is-light-on) .tt-btn-secondary > *::after {
	color: #16171a;
}

.tt-sbg-on:not(.tt-sbg-is-light-on) .tt-btn-outline {
	box-shadow: inset 0 0 0 2px #FFF, 2px 4px 0 -1px #FFF;
}
.tt-sbg-on:not(.tt-sbg-is-light-on) .tt-btn-outline > *, 
.tt-sbg-on:not(.tt-sbg-is-light-on) .tt-btn-outline > *::after {
	color: #FFF;
}

.tt-sbg-on:not(.tt-sbg-is-light-on) .tt-btn-link > *, 
.tt-sbg-on:not(.tt-sbg-is-light-on) .tt-btn-link > *::after {
	color: #FFF;
}

.tt-sbg-on:not(.tt-sbg-is-light-on) .tt-btn-line {
	background-color: #FFF;
}


/* If class "tt-sbg-is-light" is enabled on .tt-section
======================================================== */
.tt-sbg-is-light-on {
	color: #16171a;
}

/* Buttons */
.tt-sbg-is-light-on .tt-btn-secondary {
	background-color: #16171a;
}
.tt-sbg-is-light-on .tt-btn-secondary > *, 
.tt-sbg-is-light-on .tt-btn-secondary > *::after {
	color: #FFF;
}

.tt-sbg-is-light-on .tt-btn-outline {
	box-shadow: inset 0 0 0 2px #16171a;
}
.tt-sbg-is-light-on .tt-btn-outline > *, 
.tt-sbg-is-light-on .tt-btn-outline > *::after {
	color: #16171a;
}

.tt-sbg-is-light-on .tt-btn-link > *, 
.tt-sbg-is-light-on .tt-btn-link > *::after {
	color: #16171a;
}

.tt-sbg-is-light-on .tt-btn-line {
	background-color: #16171a;
}


/* tt-section inner 
==================== */
.tt-section-inner {
	position: relative;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}


/* ------------------------------------------------------------- *
 * 404 error
/* ------------------------------------------------------------- */

.tt-404-error {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 100vh;
	min-height: 100svh;
	padding: 120px 0;
}
.tt-404-error-title {
	margin: 0;
	text-align: center;
	font-size: clamp(72px, 12vw, 230px);
	font-weight: bold;
	font-weight: 600;
}
.tt-404-error-subtitle {
	margin-bottom: 10px;
	text-transform: uppercase;
	font-size: calc(15px + 0.1vw);
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1.2;
}
.tt-404-error-description {
	max-width: 700px;
	margin-top: 80px;
	text-align: center;
	font-weight: normal;
}


/* ------------------------------------------------------------- *
 * Fancybox (lightbox plugin)
/* ------------------------------------------------------------- */

/* Compensate the width of the vertical scrollbar if fancybox is open */
html.with-fancybox body:not(.is-mobile) #tt-header,
html.with-fancybox body:not(.is-mobile) .tt-scroll-to-top {
	padding-right: 11px;
}

/* Fancybox caption */
.fancybox__caption {
	max-width: 900px;
	margin: 0 auto;
	font-size: 16px;
}

/* Video size */
.has-youtube .fancybox__content, 
.has-vimeo .fancybox__content, 
.has-html5video .fancybox__content {
	width: 100%;
	height: 100%;
}

/* tt-lightbox icon (for mobile devices only!) */
body:not(.is-mobile) .tt-lightbox-icon {
	display: none !important;
}
.tt-lightbox-icon {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 15px;
	right: 15px;
	width: 20px;
	height: 20px;
	background-color: rgb(0 0 0 / 30%);
	border-radius: 100%;
}
.tt-lightbox-icon::before {
	font-size: 12px;
	color: #f1f1f1;
	line-height: 1;

	/* Font Awesome */
	content: "\2b";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}


/* ------------------------------------------------------------- *
 * Portfolio scrolling
/* ------------------------------------------------------------- */

.tt-portfolio-scrolling {
	--_tt-pscr-font-size: calc(5px + 4vw); 
	position: relative;
}


/* Portfolio scrolling item (for desktop only) 
============================ */
@media (min-width: 769px) {
	.tt-pscr-item {
		position: relative;
		display: block;
		background-color: var(--tt-bg-color);
		margin-bottom: -2px;
		padding: 2% 0;
		color: var(--tt-text-color);
		border-width: 2px 0 2px 0;
		border-style: solid;
		border-color: var(--tt-border-color);
	}

	.tt-pscr-item-inner {
		position: relative;
		display: flex;
		align-items: center;
		overflow: hidden;
		z-index: 2;
	}

	/* Portfolio scrolling item content */
	.tt-pscr-item-content {
		position: relative;
		display: flex;
		align-items: center;
		will-change: transform;

		animation-name: pscr_marquee1;
		animation-timing-function: linear;
		animation-iteration-count: infinite;
		animation-play-state: paused;
		/* animation-duration (speed) is handled by js. */
	}
	body.is-mobile .tt-pscr-item-content {
		flex-direction: row-reverse;
	}
	@keyframes pscr_marquee1 {
		from { transform: translateX(-100%); }
		to { transform: translateX(0); }
	}
	@keyframes pscr_marquee2 {
		from { transform: translateX(0); }
		to { transform: translateX(-100%); }
	}

	.tt-pscr-item.no-image .tt-pscr-item-content::after { /* Separator, if image not exist */
		display: block;
		content: "";
		width: calc(var(--_tt-pscr-font-size) / 5);
		height: calc(var(--_tt-pscr-font-size) / 5);
		background-color: var(--tt-text-color);
		margin: 0 calc(var(--_tt-pscr-font-size) / 2.5);
		transform: rotate(45deg);
	}

	.tt-pscr-item-title {
		margin: 0;
		font-size: var(--_tt-pscr-font-size);
		font-weight: 600;
		line-height: 1.3;
		white-space: nowrap;
	}
	.tt-pscr-item.no-image .tt-pscr-item-title { /* If image not exist */
		padding-left: 2vw;
		padding-right: 2vw;
	}

	/* Portfolio scrolling item image */
	.tt-pscr-item-image {
	}
	.tt-pscr-item-image img {
		display: block;
		max-width: unset !important;
		width: auto;
		height: calc(var(--_tt-pscr-font-size) * 1.1);
		margin: 0 calc(var(--_tt-pscr-font-size) / 2.5);
		border-radius: clamp(10px, 3vw, 15px);
	}

	/* Portfolio scrolling item categories */
	.tt-pscr-item-categories {
		position: absolute;
		display: flex;
		flex-wrap: wrap;
		gap: 4px;
		top: -1px;
		left: 50%;
		overflow: hidden;
		z-index: 2;
		transform: translateX(-50%);
	}
	.tt-pscr-item-category {
		background-color: var(--tt-accent-bg-color);
		padding: 3px 6px;
		font-size: calc(10px + 0.3vw);
		font-weight: 400;
		color: var(--tt-text-color);
		line-height: 1;
		border-radius: 0 0 6px 6px;
		border: 1px solid var(--tt-border-color);
		transform: translateY(-105%);
		transition: transform .2s ease-in-out;
	}
	.tt-pscr-item:hover .tt-pscr-item-category {
		transform: translateY(0);
		transition-delay: .15s;
	}

	.tt-pscr-item-category ~ .tt-pscr-item-category ~ .tt-pscr-item-category ~ .tt-pscr-item-category ~ .tt-pscr-item-category {
		display: none;
	}


	/* Portfolio scrolling item reversed color 
	=========================================== */
	.tt-pscr-item.tt-pscri-reverse-color,
	.tt-portfolio-scrolling.tt-pscr-boxed .tt-pscr-item.tt-pscri-reverse-color {
		background-color: var(--tt-dark-color);
		color: var(--tt-light-color);
		border-top: 1px solid var(--tt-light-color);
		border-bottom: 1px solid var(--tt-light-color);
		box-shadow: none;
	}
	.tt-pscr-item.tt-pscri-reverse-color:hover, 
	.tt-pscr-item.tt-pscri-reverse-color:focus {
		color: var(--tt-light-color);
	}
	.tt-pscr-item.tt-pscri-reverse-color.no-image .tt-pscr-item-content::after {
		background-color: var(--tt-light-color);
	}


	/* Portfolio scrolling item hover 
	================================== */
	.tt-pscr-item:hover,
	.tt-pscr-item:focus {
		color: var(--tt-text-color);
	}

	/* Scrolling */
	.tt-pscr-item:hover .tt-pscr-item-content {
		animation-play-state: running;
	}

	/* Alternating scrolling */
	.tt-portfolio-scrolling.tt-pscr-alter-hover .tt-pscr-item:nth-child(even) .tt-pscr-item-content {
		animation-name: pscr_marquee2;
	}


	/* Portfolio scrolling item tilted style 
	========================================= */
	.tt-portfolio-scrolling.tt-pscr-tilted {
		margin-left: -1.5%;
		margin-right: -1.5%;
	}
	.tt-portfolio-scrolling.tt-pscr-tilted .tt-pscr-item {
		margin-bottom: 0 !important;
		padding-left: 1.5%;
		padding-right: 1.5%;
	}
	.tt-portfolio-scrolling.tt-pscr-tilted .tt-pscr-item:nth-child(odd) {
		transform: rotate(1deg);
	}
	.tt-portfolio-scrolling.tt-pscr-tilted .tt-pscr-item:nth-child(even) {
		transform: rotate(-1deg);
	}


	/* Portfolio scrolling item boxed style 
	======================================== */
	.tt-portfolio-scrolling.tt-pscr-boxed,
	.tt-portfolio-scrolling.tt-pscr-boxed.tt-pscr-tilted {
		margin-left: 3.5%;
		margin-right: 3.5%;
	}
	.tt-portfolio-scrolling.tt-pscr-boxed .tt-pscr-item {
		background-color: var(--tt-accent-bg-color);
		margin-bottom: 20px;
		padding-left: 3%;
		padding-right: 3%;
		border-radius: 1000px;
		border-width: 2px;
		box-shadow: 4px 4px 0 0 var(--tt-shadow-color);
	}


	/* Portfolio scrolling item sizes 
	================================== */
	.tt-portfolio-scrolling.tt-pscr-lg {
		--_tt-pscr-font-size: calc(5px + 5vw);
	}
	.tt-portfolio-scrolling.tt-pscr-xlg {
		--_tt-pscr-font-size: calc(5px + 6vw);
	}
	.tt-portfolio-scrolling.tt-pscr-xxlg {
		--_tt-pscr-font-size: calc(5px + 7vw);
	}
}


/* Portfolio scrolling item (for small screens only) 
============================ */
@media (max-width: 768px) {
	.tt-portfolio-scrolling {
		margin-left: 3.5%;
		margin-right: 3.5%;
	}

	.tt-pscr-item {
		position: relative;
		display: block;
		margin-bottom: 40px;
		color: var(--tt-text-color);
	}
	.tt-pscr-item:hover,
	.tt-pscr-item:focus {
		color: var(--tt-text-color);
	}

	/* Portfolio scrolling item content */
	.tt-pscr-item-content {
		display: flex;
		flex-direction: column-reverse;
	}

	.tt-pscr-item-title {
		position: relative;
		margin: 0;
		padding-right: 30px;
		font-size: calc(21px + 1vw);
		font-weight: 600;
		line-height: 1.2;
	}
	.tt-pscr-item-title::after {
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: center;
		right: 0;
		top: 3px;
		width: 24px;
		height: 24px;
		background-color: var(--tt-dark-color);
		font-size: 14px;
		color: var(--tt-light-color);
		line-height: 1;
		border-radius: 100px;
		transform: rotate(-45deg);

		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: "\f061";
		font-style: normal;
		font-variant: normal;
		text-rendering: auto;
		-webkit-font-smoothing: antialiased;
		transition: all 0.2s ease-in-out;
	}

	/* Portfolio scrolling item image */
	.tt-pscr-item-image {
		position: relative;
		width: 100%;
		background-color: rgb(133 133 133 / 10%);
		margin-bottom: 15px;
		border-radius: clamp(10px, 3vw, 20px);
		overflow: hidden;
	}
	.tt-pscr-item-image::after {
		display: block;
		content: "";
		width: 100%;
		padding-bottom: 50%;
	}
	.tt-pscr-item-image img {
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 50% 50%;
	}

	/* Portfolio scrolling item categories */
	.tt-pscr-item-categories {
		height: 25px;
		line-height: 20px;
		margin-top: 10px;
		margin-right: 35px;
		overflow: hidden;
	}
	.tt-pscr-item-category {
		position: relative;
		display: inline-block;
		margin-bottom: 5px;
		padding: 0 6px;
		font-size: calc(11px + 0.3vw);
		font-weight: 400;
		color: var(--tt-text-color);
		border-radius: 100px;
		border: 1px solid var(--tt-border-color);
	}


	/* Portfolio scrolling item reversed color 
	=========================================== */
	.tt-pscr-item.tt-pscri-reverse-color-m,
	.tt-portfolio-scrolling.tt-pscr-boxed .tt-pscr-item.tt-pscri-reverse-color-m {
		background-color: var(--tt-dark-color);
		color: var(--tt-light-color);
		border-top: 1px solid var(--tt-light-color);
		border-bottom: 1px solid var(--tt-light-color);
		box-shadow: none;
	}
	.tt-portfolio-scrolling:not(.tt-pscr-boxed) .tt-pscr-item.tt-pscri-reverse-color-m {
		padding: 3%;
		border-radius: clamp(10px, 3vw, 20px);
	}
	.tt-pscr-item.tt-pscri-reverse-color-m .tt-pscr-item-title::after {
		background-color: var(--tt-light-color);
		color: var(--tt-dark-color);
	}
	.tt-pscr-item.tt-pscri-reverse-color-m .tt-pscr-item-category {
		color: var(--tt-light-color);
		border: 1px solid var(--tt-light-color);
	}


	/* Portfolio scrolling item tilted style 
	========================================= */
	.tt-portfolio-scrolling.tt-pscr-tilted-m .tt-pscr-item:nth-child(odd) {
		transform: rotate(1deg);
	}
	.tt-portfolio-scrolling.tt-pscr-tilted-m .tt-pscr-item:nth-child(even) {
		transform: rotate(-1deg);
	}

	/* Portfolio scrolling item boxed style 
	======================================== */
	.tt-portfolio-scrolling.tt-pscr-boxed .tt-pscr-item {
		background-color: var(--tt-accent-bg-color);
		margin-bottom: 30px;
		padding: 3%;
		color: var(--tt-text-color);
		border-radius: clamp(10px, 3vw, 20px);
		border: 2px solid var(--tt-border-color);
		box-shadow: 4px 4px 0 0 var(--tt-shadow-color);
	}
}


/* ------------------------------------------------------------- *
 * tt-Grid
/* ------------------------------------------------------------- */

.tt-grid {
	--_grid-gap: 0vw; /* Do not touch! */
	position: relative;
}


/* tt-Grid filter
================== */
.tt-grid-filter {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 80px;
}
.tt-grid-filter .tt-magnetic-btn {
	margin: 5px;
}
.tt-grid-filter .tt-btn {
	height: 44px;
	padding: 0 20px;
}
.tt-grid-filter .tt-btn.tt-btn-outline {
	background-color: var(--tt-accent-bg-color);
}
@media (max-width: 768px) {
	.tt-grid-filter {
		margin-bottom: 40px;
	}
	.tt-grid-filter .tt-magnetic-btn {
		margin: 0;
	}
	.tt-grid-filter .tt-btn {
		height: 34px;
		margin: 3px;
		padding: 0 14px;
		font-size: 15px;
	}
}

/* tt-Grid filter aligns */
.tt-grid-filter.tt-grf-center {
	justify-content: center;
}
.tt-grid-filter.tt-grf-right {
	justify-content: flex-end;
}


/* tt-Grid list
================ */
.tt-grid-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: var(--_grid-gap);
	grid-auto-flow: dense;
}

/* tt-Grid item */
.tt-grid-item { 
	position: relative;
	display: inline-grid;
}

.tt-gri-inner {
	min-width: 0;
}


/* tt-Grid gap 
=============== */
/* gap 1 */
.tt-grid.tt-grid-gap-1 {
	--_grid-gap: 1vw;
	padding-left: var(--_grid-gap);
	padding-right: var(--_grid-gap);
}
.tt-grid.tt-grid-gap-1 .tt-grid-list {
	--_grid-gap: 1vw;
}
@media (max-width: 655px) {
	.tt-grid.tt-grid-gap-1 .tt-grid-list {
		--_grid-gap: 2vw;
	}
}

/* gap 2 */
.tt-grid.tt-grid-gap-2 {
	--_grid-gap: 2vw;
	padding-left: var(--_grid-gap);
	padding-right: var(--_grid-gap);
}
.tt-grid.tt-grid-gap-2 .tt-grid-list {
	--_grid-gap: 2vw;
}

/* gap 3 */
.tt-grid.tt-grid-gap-3 {
	--_grid-gap: 3vw;
	padding-left: var(--_grid-gap);
	padding-right: var(--_grid-gap);
}
.tt-grid.tt-grid-gap-3 .tt-grid-list {
	--_grid-gap: 3vw;
}

/* gap 4 */
.tt-grid.tt-grid-gap-4 {
	--_grid-gap: 4vw;
	padding-left: var(--_grid-gap);
	padding-right: var(--_grid-gap);
}
.tt-grid.tt-grid-gap-4 .tt-grid-list {
	--_grid-gap: 4vw;
}

/* gap 5 */
.tt-grid.tt-grid-gap-5 {
	--_grid-gap: 5vw;
	padding-left: var(--_grid-gap);
	padding-right: var(--_grid-gap);
}
.tt-grid.tt-grid-gap-5 .tt-grid-list {
	--_grid-gap: 5vw;
}

/* gap 6 */
.tt-grid.tt-grid-gap-6 {
	--_grid-gap: 6vw;
	padding-left: var(--_grid-gap);
	padding-right: var(--_grid-gap);
}
.tt-grid.tt-grid-gap-6 .tt-grid-list {
	--_grid-gap: 6vw;
}

/* no padding if inside "tt-wrap" */
.tt-wrap .tt-grid[class*="tt-grid-gap-"] {
	padding-left: 0;
	padding-right: 0;
}


/* tt-Grid load more
===================== */
.tt-grid-load-more {
	display: flex;
	justify-content: center;
	margin-top: 60px;
}

/* No more items message */
.tt-grid-no-more-msg {
	display: none;
	opacity: .7;
	font-size: 0.9rem;
	text-align: center;
}


/* ------------------------------------------------------------- *
 * Portfolio grid (works in combination with tt-Grid)
/* ------------------------------------------------------------- */

.tt-portfolio-grid {
	--_pgi-image-offset: 105px; /* Same as ".tt-pgi-info" height */
}


/* Portfolio grid item
======================= */
.tt-portfolio-grid-item { 
	position: relative;
	height: 100%;
	display: block;
	color: var(--tt-text-color);
}
@media (max-width: 648px) {
	.tt-portfolio-grid .tt-grid-item[class*="h-"] {
		grid-row: span 1 !important;
	}
}

/* Portfolio grid item image */
.tt-pgi-image {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background-color: rgb(137 137 137 / 12%);
	border-radius: clamp(10px, 3vw, 20px);
}
.tt-portfolio-grid:not(.tt-pgi-inside) .tt-pgi-image {
	height: calc(100% - var(--_pgi-image-offset));
}
.tt-pgi-image img {
	display: block;
	aspect-ratio: 3 / 2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	transition: transform 1s cubic-bezier(.165,.84,.44,1);
	will-change: transform;
}
.tt-pgi-image:hover img {
	transform: scale(1.1);
}

/* Portfolio grid item video */
.tt-pgi-video {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background-color: rgb(137 137 137 / 12%);
	border-radius: clamp(10px, 3vw, 20px);
}
.tt-pgi-video video {
	display: block;
	aspect-ratio: 3 / 2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	pointer-events: none;
}

.tt-portfolio-grid:not(.tt-pgi-inside) .tt-pgi-video {
	height: calc(100% - var(--_pgi-image-offset));
}

/* Portfolio grid item info */
.tt-pgi-info {
	position: relative;
	width: 100%;
	margin-top: 20px;
}

.tt-pgi-title {
	margin: 0 clamp(50px, 5vw, 80px) 0 0;
	font-size: calc(24px + 0.6vw);
	font-weight: bold;
	font-weight: 600;
	color: var(--tt-text-color);
	line-height: 1.3;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.tt-pgi-title a {
	position: relative;
	display: inline;
	color: var(--tt-text-color);
	transition: padding-left .4s cubic-bezier(.165,.84,.44,1);
}
.tt-pgi-title a:hover,
.tt-pgi-title a:focus {
	transition-delay: .1s;
	padding-left: 8px;
}

.tt-pgi-icon {
	position: absolute;
	top: -3px;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(26px + 0.4vw);
	height: calc(26px + 0.4vw);
	background-color: var(--tt-dark-color);
	color: var(--tt-light-color);
	font-size: 18px;
	text-decoration: none;
	border-radius: 100px;
	transition: transform .4s cubic-bezier(.165,.84,.44,1);
}
.tt-pgi-icon:hover {
	transform: scale(1.2);
}
.tt-pgi-icon svg {
	width: 50%;
	height: 50%;
	fill: var(--tt-light-color);
	transform: rotate(-45deg);
}

.tt-pgi-categories {
	--_pgi-category-height: 25px;
	--_pgi-category-border: 1px;

	display: flex;
	flex-wrap: wrap;
	height: calc(var(--_pgi-category-height) + var(--_pgi-category-border) * 2);
	margin-top: 15px;
	overflow: hidden;
}
.tt-pgi-category {
	display: inline-flex;
	align-items: center;
	height: var(--_pgi-category-height);
	margin: 0 5px 5px 0;
	padding: 0 10px;
	font-size: calc(12px + 0.1vw);
	font-weight: normal;
	line-height: 1;
	color: var(--tt-text-color);
	border-radius: 100px;
	border: var(--_pgi-category-border) solid var(--tt-border-color);
	transition: background-color .2s, color .2s, border-color .2s;
}
.tt-pgi-category:hover,
.tt-pgi-category:focus {
	background-color: var(--tt-dark-color);
	color: var(--tt-light-color);
	border-color: var(--tt-dark-color);
}


/* Portfolio grid columns 
========================== */
/* 3 columns */
.tt-grid.tt-grid-col-3 .tt-pgi-title {
	font-size: calc(24px + 0.3vw);
}

/* 4 columns */
.tt-grid.tt-grid-col-4 .tt-pgi-title {
	font-size: 22px;
}

/* 5 columns */
.tt-grid.tt-grid-col-5 .tt-pgi-title {
	font-size: 22px;
}

/* 6 columns */
.tt-grid.tt-grid-col-6 .tt-pgi-title {
	font-size: 22px;
}


/* Portfolio grid inside style
=============================== */
.tt-portfolio-grid.tt-pgi-inside .tt-portfolio-grid-item { 
	color: #FFF;
}

.tt-portfolio-grid.tt-pgi-inside .tt-grid:not([class*="tt-grid-gap-"]) .tt-pgi-image,
.tt-portfolio-grid.tt-pgi-inside .tt-grid:not([class*="tt-grid-gap-"]) .tt-pgi-video {
	border-radius: 0;
}
.tt-portfolio-grid.tt-pgi-inside .tt-pgi-image::before {
	position: absolute;
	display: block;
	content: "";
	inset: 0;
	background-color: #000;
	opacity: .25;
	z-index: 1;
}

.tt-portfolio-grid.tt-pgi-inside .tt-pgi-info {
	--_bgi-info-margin: clamp(4%, 6%, 20px);

	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	inset: 0;
	width: calc(100% - var(--_bgi-info-margin) * 2);
	margin: var(--_bgi-info-margin);
	color: #FFF;
	z-index: 2;
	pointer-events: none;
}
.tt-portfolio-grid.tt-pgi-inside .tt-pgi-title {
	margin: 0;
	color: #FFF;
}
.tt-portfolio-grid.tt-pgi-inside .tt-pgi-title a {
	color: #FFF;
}
.tt-portfolio-grid.tt-pgi-inside .tt-pgi-icon {
	top: auto;
	bottom: 0;
	right: 0;
	background-color: rgb(255 255 255 / 75%);
	backdrop-filter: blur(10px);
	color: #222;
}
.tt-portfolio-grid.tt-pgi-inside .tt-pgi-icon svg {
	fill: #222;
}
.tt-portfolio-grid.tt-pgi-inside .tt-pgi-categories {
	margin-top: 10px;
	padding-right: clamp(60px, 5vw, 80px);
}
.tt-portfolio-grid.tt-pgi-inside .tt-pgi-category {
	background-color: rgb(255 255 255 / 75%);
	backdrop-filter: blur(10px);
	color: #222;
	border: none;
	pointer-events: initial;
}
.tt-portfolio-grid.tt-pgi-inside .tt-pgi-category:hover {
	background-color: #FFF;
}


/* Portfolio grid boxed style
============================== */
.tt-portfolio-grid.tt-pgi-boxed .tt-portfolio-grid-item { 
	background-color: var(--tt-accent-bg-color);
	padding: clamp(4%, 6%, 15px);
	border-radius: clamp(10px, 3vw, 20px);
	border: 2px solid var(--tt-border-color);
	box-shadow: 8px 8px 0px -2px var(--tt-shadow-color);
}
.tt-portfolio-grid.tt-pgi-inside.tt-pgi-boxed .tt-pgi-info  {
	width: calc(100% - 8% * 2);
	margin: calc(4% * 2);
}


/* Portfolio grid tilted style
=============================== */
.tt-portfolio-grid.tt-pgi-tilted .tt-grid-item:nth-child(odd) .tt-portfolio-grid-item {
	transform: rotate(1deg);
}
.tt-portfolio-grid.tt-pgi-tilted .tt-grid-item:nth-child(even) .tt-portfolio-grid-item {
	transform: rotate(-1deg);
}


/* ------------------------------------------------------------- *
 * Portfolio slider
/* ------------------------------------------------------------- */

.tt-portfolio-slider {
	position: relative;
	background-color: #131313;
}

/* Portfolio slider swiper */
.tt-portfolio-slider .swiper {
	width: 100%;
	height: 100vh;
	height: 100svh;
}
.tt-portfolio-slider .swiper-slide {
	overflow: hidden;
}


/* Portfolio slider item 
========================= */
.tt-portfolio-slider-item {
	position: relative;
	display: block;
	height: 100%;
	overflow: hidden;
}

/* Portfolio slider image/video */
.tt-posl-image-wrap {
	position: absolute;
	inset: 0;
	z-index: 1;
}
img.tt-posl-image,
video.tt-posl-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

/* Portfolio slider caption */
.tt-posl-item-caption {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	max-width: 1200px;
	padding-left: 20px;
	padding-right: 20px;
	text-align: center;
	z-index: 2;
	transform: translate3d(-50%, -50%, 0px);
}
.tt-posl-item-caption-inner {
	opacity: 1;
	transform: scale(1);
	transition: opacity .5s, transform .5s;
}
.swiper-slide-prev .tt-posl-item-caption-inner,
.swiper-slide-next .tt-posl-item-caption-inner {
	opacity: 0;
	transform: scale(0.8);
}

/* Portfolio slider title */
.tt-posl-item-title {
	margin: 0;
	font-size: calc(24px + 4vw);
	font-weight: bold;
	font-weight: 600;
	color: var(--tt-force-to-light-color);
	line-height: 1;
}
@media (max-width: 414px) {
	.tt-posl-item-title {
		font-size: 44px !important;
	}
}
.tt-posl-item-title a {
	display: block;
	color: var(--tt-force-to-light-color);
	transition: color .5s ease-in-out;
}

/* Portfolio slider categories */
.tt-posl-item-categories-wrap {
	position: relative;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 40px;
	font-weight: normal;
	transition: 0.3s;
}
.tt-posl-item-category {
	position: relative;
	display: block;
	background-color: rgba(255,255,255,0.3);
	backdrop-filter: blur(5px);
	padding: 3px 10px;
	font-size: calc(13px + 0.1vw);
	color: var(--tt-force-to-light-color);
	line-height: 1.3;
	border-radius: 100px;
	transition: background-color .2s, color .2s, border-color .2s;
}
.tt-posl-item-category:hover,
.tt-posl-item-category:focus {
	background-color: var(--tt-force-to-light-color);
	color: #16171a;
}
.tt-posl-item-category ~ .tt-posl-item-category ~ .tt-posl-item-category ~ .tt-posl-item-category {
	visibility: hidden;
	width: 0;
}
.tt-posl-item-category ~ .tt-posl-item-category ~ .tt-posl-item-category ~ .tt-posl-item-category ~ .tt-posl-item-category {
	display: none;
}
.tt-posl-item-category + .tt-posl-item-category + .tt-posl-item-category + .tt-posl-item-category::before {
	position: absolute;
	left: 0;
	bottom: 0;
	content: "...";
	margin-left: 3px;
	visibility: visible;
	pointer-events: none;
	color: var(--tt-force-to-light-color);
}


/* Portfolio slider navigation 
=============================== */
.tt-posl-nav-prev, 
.tt-posl-nav-next {
	position: absolute;
	bottom: 5%;
	z-index: 999;
}
.tt-posl-nav-prev:focus, 
.tt-posl-nav-next:focus {
	outline: none;
	border: none;
}
.tt-posl-nav-prev {
	right: calc(3.5% + 70px);
}
@media (max-width: 768px) {
	.tt-posl-nav-prev {
		right: auto;
		left: 3.5%;
	}
}
.tt-posl-nav-next {
	right: 3.5%;
}

.tt-posl-nav-arrow {
	display: flex;
	justify-content: center;
	width: 50px;
	height: 50px;
	background-color: transparent;
	backdrop-filter: none;
	font-size: 20px;
	color: var(--tt-force-to-light-color);
	outline: none;
	border-radius: 100%;
	border: 2px solid var(--tt-force-to-light-color);
	transition: none;
}
@media (max-width: 768px) {
	.tt-posl-nav-arrow {
		width: 40px;
		height: 40px;
		font-size: 17px;
	}
}

.tt-posl-nav-arrow-disabled {
	opacity: .3;
}

.tt-posl-nav-arrow svg {
	width: 40%;
	fill: var(--tt-force-to-light-color);
}
.tt-posl-nav-prev .tt-posl-nav-arrow svg {
	transform: rotate(90deg);
}
.tt-posl-nav-next .tt-posl-nav-arrow svg {
	transform: rotate(-90deg);
}

.tt-portfolio-slider[data-direction="horizontal"] .tt-posl-nav-prev .tt-posl-nav-arrow svg {
	transform: rotate(180deg);
}
.tt-portfolio-slider[data-direction="horizontal"] .tt-posl-nav-next .tt-posl-nav-arrow svg {
	transform: rotate(0deg);
}


/* Portfolio slider pagination 
=============================== */
.tt-posl-pagination {
	position: absolute;
	left: 50%;
	bottom: 6%;
	width: auto !important;
	height: auto !important;
	transform: translateX(-50%);
	z-index: 9;
}

/* Portfolio slider pagination bullets */
.tt-posl-pagination .swiper-pagination-bullets {
	font-size: 0;
}
.tt-posl-pagination .swiper-pagination-bullet {
	display: inline-block;
	width: 8px;
	height: 8px;
	background-color: var(--tt-force-to-light-color);
	margin: 6px;
	opacity: 1;
	border-radius: 100%;
	border: none;
	transform: scale(1);
	transition: transform .3s ease-in-out;
}
.tt-posl-pagination .swiper-pagination-bullet-active {
	background-color: var(--tt-main-color);
	opacity: 1;
	transform: scale(1.7);
}

/* Portfolio slider pagination dynamic bullets */
.tt-posl-pagination-bullets-dynamic {
	width: 130px !important;
	white-space: nowrap;
	overflow: hidden;
	font-size: 0;
}
.tt-posl-pagination-bullets-dynamic .swiper-pagination-bullet {
	position: relative;
	top: 0 !important;
	width: 14px;
	height: 14px;
	transform: scale(.33);
	transition: .2s transform, .2s left;
}
.tt-posl-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
	transform: scale(.66);
}
.tt-posl-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
	transform: scale(.33);
}
.tt-posl-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
	transform: scale(.66);
}
.tt-posl-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
	transform: scale(.33);
}
.tt-posl-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
	transform: scale(1);
}

/* Portfolio slider pagination fraction */
.tt-posl-pagination-fraction {
	font-size: 16px;
	font-weight: 500;
	color: var(--tt-force-to-light-color);
}
.tt-posl-pagination-fraction .swiper-pagination-current {
}
.tt-posl-pagination-fraction .swiper-pagination-total {
}

/* Portfolio slider pagination progressbar */
.tt-posl-pagination-progressbar {
	width: 100% !important;
	max-width: 200px;
	height: 2px !important;
	background-color: rgb(159 159 159 / 40%);
}
@media (max-width: 768px) {
	.tt-posl-pagination-progressbar {
		max-width: 90%;
	}
}
.tt-posl-pagination-progressbar .swiper-pagination-progressbar-fill {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--tt-force-to-light-color);
	transform: scale(0);
	transform-origin: left top;
}


/* Portfolio slider social buttons (based on "tt-social-buttons")
=================================== */
.tt-portfolio-slider .tt-social-buttons {
	position: absolute;
	left: 2.5%;
	bottom: 5%;
	z-index: 9;
}
@media (max-width: 768px) {
	.tt-portfolio-slider .tt-social-buttons {
		display: none !important;
	}
}

.tt-portfolio-slider .tt-social-buttons > ul {
	flex-direction: column;
}
.tt-portfolio-slider .tt-social-buttons > ul > li {
}
.tt-portfolio-slider .tt-social-buttons > ul > li a {
	color: var(--tt-force-to-light-color);
}
@media (max-width: 1600px) {
	.tt-portfolio-slider .tt-social-buttons > ul > li a {
		width: 40px;
		height: 40px;
	}
}


/* Portfolio slider button (for small devices)
=========================== */
@media (max-width: 768px) {
	.tt-portfolio-slider .tt-btn {
		height: 46px;
		padding: 0 20px;
		font-size: 14px;
	}
}


/* If vertical direction is enabled 
==================================== */
body.tt-posl-vertical-on #ball .ball-drag-mouse-down-inner {
	transform: rotate(90deg);
}


/* Make elements light (for better visibility)
=============================================== */
body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) {
	color: var(--tt-force-to-light-color);
}

/* Make logo light */ 
body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-logo-light {
	display: block;
}
body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-logo-dark {
	display: none;
}

/* Make menu items light (for desctop only) */
@media (min-width: 1025px) {
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li > a, 
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li > .tt-submenu-trigger > a {
		color: var(--tt-force-to-light-color);
	}
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-submenu-master > .tt-submenu-trigger > a::after {
		color: var(--tt-force-to-light-color);
	}
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li.active > a, 
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li.active > .tt-submenu-trigger > a {
		background-color: transparent;
		box-shadow: inset 0 0 0 2px var(--tt-force-to-light-color);
	}
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li > a:hover, 
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-main-menu-list > li > .tt-submenu-trigger > a:hover {
		background-color: transparent;
		box-shadow: inset 0 0 0 2px var(--tt-force-to-light-color);
	}
}

/* Make mobile menu trigger light */
body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-m-menu-toggle-btn-text {
	color: var(--tt-force-to-light-color);
}
body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-m-menu-toggle-btn span::before, 
body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on):not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-m-menu-toggle-btn span::after {
	background-color: var(--tt-force-to-light-color);
}

/* Make header buttons light */
@media (min-width: 1025px) { 
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-btn-secondary {
		background-color: var(--tt-force-to-light-color);
	}
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-btn-secondary > *, 
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-btn-secondary > *::after{
		color: #16171a;
	}
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-btn-outline,
	body.ph-video-on.tt-ph-visible:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-btn-outline {
		box-shadow: inset 0 0 0 2px var(--tt-force-to-light-color);
	}
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-btn-outline > *, 
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-btn-outline > *::after {
		color: var(--tt-force-to-light-color);
	}
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-btn-link > *, 
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-btn-link > *::after {
		color: var(--tt-force-to-light-color);
	}
	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-btn-line {
		background-color: var(--tt-force-to-light-color);
	}

	body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) #tt-header:not(.tt-filled) .tt-style-switch svg {
		stroke: var(--tt-force-to-light-color);
	}
}

/* Make portfolio slider buttons light */
body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) .tt-btn-secondary {
	background-color: var(--tt-force-to-light-color);
}
body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) .tt-btn-secondary > *, 
body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) .tt-btn-secondary > *::after {
	color: #16171a;
}

body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) .tt-btn-outline {
	box-shadow: inset 0 0 0 2px var(--tt-force-to-light-color);
}
body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) .tt-btn-outline > *, 
body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) .tt-btn-outline > *::after {
	color: var(--tt-force-to-light-color);
}

body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) .tt-big-round-ptn-inner {
	color: var(--tt-force-to-light-color);
}

body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) .tt-btn-link > *, 
body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) .tt-btn-link > *::after {
	color: var(--tt-force-to-light-color);
}
body.tt-portfolio-slider-on:not(.tt-posl-light-bg-on) .tt-btn-line {
	background-color: var(--tt-force-to-light-color);
}


/* If portfolio slider item background is light
================================================ */
body.tt-posl-light-bg-on:not(.tt-m-menu-active) #tt-header:not(.tt-filled) {
	color: #16171a;
}

/* Make logo dark */ 
body.tt-posl-light-bg-on:not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-logo-light {
	display: none;
}
body.tt-posl-light-bg-on:not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-logo-dark {
	display: block;
}
body.tt-posl-light-bg-on:not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-text-logo {
	color: #16171a;
}

/* Make menu items dark (for desctop only) */
@media (min-width: 1025px) {
	body.tt-posl-light-bg-on #tt-header:not(.tt-filled) .tt-main-menu-list > li > a, 
	body.tt-posl-light-bg-on #tt-header:not(.tt-filled) .tt-main-menu-list > li > .tt-submenu-trigger > a {
		color: #16171a;
	}
	body.tt-posl-light-bg-on #tt-header:not(.tt-filled) .tt-submenu-master > .tt-submenu-trigger > a::after {
		color: #16171a;
	}
}

/* Make mobile menu trigger dark */
body.tt-posl-light-bg-on:not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-m-menu-toggle-btn-text {
	color: #16171a;
}
body.tt-posl-light-bg-on:not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-m-menu-toggle-btn span::before, 
body.tt-posl-light-bg-on:not(.tt-m-menu-active) #tt-header:not(.tt-filled) .tt-m-menu-toggle-btn span::after {
	background-color: #16171a;
}

/* Make header buttons dark */
@media (min-width: 1025px) { 
	body.tt-posl-light-bg-on #tt-header:not(.tt-filled) .tt-btn-secondary {
		background-color: #16171a;
	}
	body.tt-posl-light-bg-on #tt-header:not(.tt-filled) .tt-btn-secondary > *, 
	body.tt-posl-light-bg-on #tt-header:not(.tt-filled) .tt-btn-secondary > *::after {
		color: #FFF;
	}
	body.tt-posl-light-bg-on #tt-header:not(.tt-filled) .tt-btn-outline {
		box-shadow: inset 0 0 0 2px #16171a;
	}
	body.tt-posl-light-bg-on #tt-header:not(.tt-filled) .tt-btn-outline > *, 
	body.tt-posl-light-bg-on #tt-header:not(.tt-filled) .tt-btn-outline > *::after {
		color: #16171a;
	}
	body.tt-posl-light-bg-on #tt-header:not(.tt-filled) .tt-btn-link > *, 
	body.tt-posl-light-bg-on #tt-header:not(.tt-filled) .tt-btn-link > *::after {
		color: #16171a;
	}
	body.tt-posl-light-bg-on #tt-header:not(.tt-filled) .tt-btn-line {
		background-color: #16171a;
	}

	body.tt-posl-light-bg-on #tt-header:not(.tt-filled) .tt-style-switch svg {
		stroke: #16171a;
	}
}

/* Make portfolio slider elements dark */
body.tt-posl-light-bg-on .tt-portfolio-slider,
body.tt-posl-light-bg-on .tt-portfolio-slider a,
body.tt-posl-light-bg-on .tt-posl-item-title,
body.tt-posl-light-bg-on .tt-posl-item-title a,
body.tt-posl-light-bg-on .tt-posl-item-category,
body.tt-posl-light-bg-on .tt-posl-item-category a,
body.tt-posl-light-bg-on .tt-posl-item-category + .tt-posl-item-category + .tt-posl-item-category + .tt-posl-item-category::before,
body.tt-posl-light-bg-on .tt-portfolio-slider .tt-social-buttons > ul > li a,
body.tt-posl-light-bg-on .tt-posl-nav-arrow,
body.tt-posl-light-bg-on .tt-posl-pagination {
	color: #16171a;
}

body.tt-posl-light-bg-on .tt-posl-pagination-fraction .swiper-pagination-total::before,
body.tt-posl-light-bg-on .tt-posl-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active),
body.tt-posl-light-bg-on .tt-posl-pagination-progressbar .swiper-pagination-progressbar-fill {
	background-color: #16171a;
}

body.tt-posl-light-bg-on .tt-posl-nav-arrow {
	border-color: #16171a;
}
body.tt-posl-light-bg-on .tt-posl-nav-arrow svg {
	fill: #16171a;
}


/* Make portfolio slider buttons dark */
body.tt-posl-light-bg-on .tt-portfolio-slider .tt-btn-secondary {
	background-color: #16171a;
}
body.tt-posl-light-bg-on .tt-portfolio-slider .tt-btn-secondary > *, 
body.tt-posl-light-bg-on .tt-portfolio-slider .tt-btn-secondary > *::after {
	color: #FFF;
}

body.tt-posl-light-bg-on .tt-portfolio-slider .tt-btn-outline {
	box-shadow: inset 0 0 0 2px #16171a;
}
body.tt-posl-light-bg-on .tt-portfolio-slider .tt-btn-outline > *, 
body.tt-posl-light-bg-on .tt-portfolio-slider .tt-btn-outline > *::after {
	color: #16171a;
}

body.tt-posl-light-bg-on .tt-portfolio-slider .tt-big-round-ptn-inner {
	color: #16171a;
}
body.tt-posl-light-bg-on .tt-portfolio-slider .tt-big-round-ptn-inner:hover, 
body.tt-posl-light-bg-on .tt-portfolio-slider .tt-big-round-ptn-inner:focus {
	color: #FFF;
}

body.tt-posl-light-bg-on .tt-portfolio-slider .tt-btn-link > *, 
body.tt-posl-light-bg-on .tt-portfolio-slider .tt-btn-link > *::after {
	color: #16171a;
}
body.tt-posl-light-bg-on .tt-portfolio-slider .tt-btn-line {
	background-color: #16171a;
}

/* Make portfolio slider cursor drag dark */
body.tt-posl-light-bg-on #ball.ball-drag-mouse-down {
	border-color: #16171a;
}
body.tt-posl-light-bg-on #ball .ball-drag-mouse-down-inner {
	color: #16171a;
}


/* -------------------------------------------------------------------- *
 * Portfolio cards
/* -------------------------------------------------------------------- */

.tt-portfolio-cards {
	position: relative;
	display: flex;
	padding-bottom: 80%;
	margin: 7% 15%;
}


/* Portfolio cards item
======================== */
.tt-portf-card {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.tt-portf-card:last-child {
	z-index: 9;
}

/* Portfolio cards item image */
.tt-pcard-image {
	position: relative;
	height: calc(100% - 85px); 
	overflow: hidden;
	background-color: rgb(137 137 137 / 12%);
	border-radius: clamp(10px, 3vw, 20px);
}
.tt-pcard-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.tt-portf-card:nth-child(1) {
	transform: rotate(10deg);
	transform-origin: center bottom;
	transition: transform .3s ease-in-out;
}
.tt-portfolio-cards:hover .tt-portf-card:nth-child(1) {
	transform: rotate(13deg);
}
.tt-portf-card:nth-child(2) {
	transform: rotate(-10deg);
	transform-origin: center bottom;
	transition: transform .3s ease-in-out;
}
.tt-portfolio-cards:hover .tt-portf-card:nth-child(2) {
	transform: rotate(-13deg);
}

/* Portfolio cards item info */
.tt-pcard-info {
	position: relative;
	margin-top: 10px;
}

.tt-pcard-title {
	margin: 0;
	font-size: calc(24px + 0.2vw);
	font-weight: bold;
	font-weight: 600;
	color: var(--tt-text-color);
	line-height: 1.3;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.tt-pcard-icon {
	position: absolute;
	right: 5%;
	bottom: 5%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(26px + 0.4vw);
	height: calc(26px + 0.4vw);
	background-color: rgb(255 255 255 / 75%);;
	color: #222;
	font-size: 18px;
	text-decoration: none;
	border-radius: 100px;
}
.tt-pcard-icon svg {
	width: 60%;
	height: 60%;
	fill: #222;
	transform: rotate(-45deg);
}

.tt-pcard-categories {
	--_tt-pcard-category-height: 25px;
	--_tt-pcard-category-border: 1px;

	display: flex;
	flex-wrap: wrap;
	height: calc(var(--_tt-pcard-category-height) + var(--_tt-pcard-category-border) * 2);
	margin-top: 10px;
	overflow: hidden;
}
.tt-pcard-category {
	display: inline-flex;
	align-items: center;
	height: var(--_tt-pcard-category-height);
	margin: 0 5px 5px 0;
	padding: 0 10px;
	font-size: calc(12px + 0.1vw);
	font-weight: normal;
	line-height: 1;
	color: var(--tt-text-color);
	border-radius: 100px;
	border: var(--_tt-pcard-category-border) solid var(--tt-border-color);
	transition: background-color .2s, color .2s, border-color .2s;
}


/* Portfolio card boxed style
============================== */
.tt-portfolio-cards.tt-pcard-boxed .tt-portf-card {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--tt-accent-bg-color);
	padding: clamp(2%, 4%, 20px);
	border-radius: clamp(10px, 3vw, 20px);
	border: 2px solid var(--tt-border-color);
	box-shadow: 7px 7px 0 -2px var(--tt-shadow-color);
}

.tt-portfolio-cards.tt-pcard-boxed .tt-pcard-title {
	padding-right: 50px;
}

.tt-portfolio-cards.tt-pcard-boxed .tt-pcard-icon {
	position: absolute;
	top: 0;
	right: 0;
	bottom: auto;
	background-color: var(--tt-dark-color);
	color: var(--tt-light-color);
}
.tt-portfolio-cards.tt-pcard-boxed .tt-pcard-icon svg {
	fill: var(--tt-light-color);
}


/* Portfolio card inside style (default style)
=============================== */
.tt-portfolio-cards:not(.tt-pcard-boxed) .tt-pcard-image {
	height: 100%; 
}
.tt-portfolio-cards:not(.tt-pcard-boxed) .tt-pcard-image::before {
	position: absolute;
	display: block;
	content: "";
	inset: 0;
	background-color: #000;
	opacity: .2;
	z-index: 1;
}

.tt-portfolio-cards:not(.tt-pcard-boxed) .tt-pcard-info {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 5%;
	color: #FFF;
	z-index: 2;
}
.tt-portfolio-cards:not(.tt-pcard-boxed) .tt-pcard-title {
	color: #FFF;
}
.tt-portfolio-cards:not(.tt-pcard-boxed) .tt-pcard-categories {
	margin-right: 50px;
}
.tt-portfolio-cards:not(.tt-pcard-boxed) .tt-pcard-category {
	background-color: rgb(255 255 255 / 75%);
	backdrop-filter: blur(10px);
	color: #222;
	border: none;
}


/* ------------------------------------------------------------- *
 * Project info list
/* ------------------------------------------------------------- */

.tt-project-info-list {
	position: relative;
	z-index: 9;
}

.tt-project-info-list > ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.tt-project-info-list > ul > li {
	position: relative;
	vertical-align: top;
	padding: 0px 30px 0 24px;
	margin: 15px 25px 15px 0;
	text-align: left;
}

.tt-project-info-list > ul > li::after {
	position: absolute;
	display: block;
	content: "";
	top: 20px;
	left: 0;
	width: 1px;
	height: 50px;
	margin-top: -18px;
	background-color: rgb(133 133 133 / 50%);
}

/* Project info list heading */
.tt-project-info-list .pi-list-heading {
	margin-bottom: 5px;
	font-size: calc(15px + 0.1vw);
	font-weight: normal;
	opacity: .7;
}

/* Project info list content */
.tt-project-info-list .pi-list-cont {
	font-size: calc(15px + 0.1vw);
}
.tt-project-info-list .pi-list-cont a {
	word-wrap: break-word;
	font-size: calc(15px + 0.1vw);
	color: var(--tt-text-color);
}
.tt-project-info-list .pi-list-cont a:hover {
	opacity: .8;
}

.tt-project-info-list .social-buttons {
	display: inline-block;
	margin-top: -5px;
	margin-left: -10px;
}
.tt-project-info-list .social-buttons > ul > li {
	margin-right: 15px;
}
.tt-project-info-list .social-buttons > ul > li a {
	width: 45px;
	height: 45px;
	font-size: 15px;
}

/* Project info list icon */
.tt-project-info-list .pi-list-icon {
	position: relative;
	display: inline-block;
	bottom: 2px;
	margin-left: 10px;
	font-size: 13px;
	transform: rotate(-45deg);
}


/* Project info inline style 
============================= */
@media (min-width: 681px) {
	.tt-project-info-list.tt-pil-inline > ul > li {
		display: inline-block;
		max-width: 320px;
		padding-left: 0;
	}
	.tt-project-info-list.tt-pil-inline > ul > li:last-child {
		margin-right: 0;
	}

	.tt-project-info-list.tt-pil-inline > ul > li::after {
		right: 0;
		left: auto;
	}
	.tt-project-info-list.tt-pil-inline > ul > li:last-child::after {
		display: none;
	}
}


/* Project info list if align senter 
===================================== */
.tt-project-info-list.pi-list-center {
	text-align: center;
}
.tt-project-info-list:not(.tt-pil-inline).pi-list-center > ul > li::after,
.tt-project-info-list:not(.tt-pil-inline).text-center > ul > li::after,
.text-center .tt-project-info-list:not(.tt-pil-inline) > ul > li::after {
	display: none;
}


/* -------------------------------------------------------------------- *
 * Portfolio single page nav (prev/next projects)
/* -------------------------------------------------------------------- */

.tt-portf-single-nav {
}

.tt-ps-nav-item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 5%;
	padding-left: 3.5vw;
	padding-right: 3.5vw;
}
.tt-wrap .tt-ps-nav-item {
	padding-left: 0;
	padding-right: 0;
}
.tt-ps-nav-item.tt-ps-nav-prev {
	padding-right: 4%;
}
.tt-ps-nav-item.tt-ps-nav-next {
	flex-direction: row-reverse;
	text-align: right;
	padding-left: 4%;
}


/* Portfolio single nav image 
============================== */
.tt-ps-nav-image {
	display: block;
	max-width: clamp(136px, 17vw, 320px);
	border-radius: clamp(5px, 2vw, 10px);
}
.tt-wrap:not([class*="max-width-"]) .tt-ps-nav-image {
	max-width: 200px;
}
@media (max-width: 1400px) {
	.tt-ps-nav-image {
		padding: 7px;
	}
	.tt-wrap .tt-ps-nav-image {
		max-width: 135px;
	}
}
@media (max-width: 768px) {
	.tt-ps-nav-image {
		display: none;
	}
}
.tt-ps-nav-image-inner {
	overflow: hidden;
	border-radius: clamp(5px, 2vw, 10px);
}
.tt-ps-nav-image img {
	display: block;
	aspect-ratio: 3 / 3;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	transition: transform 1s cubic-bezier(.165,.84,.44,1);
}
.tt-ps-nav-image:hover img {
	transform: scale(1.1);
}


/* Portfolio single nav text 
============================= */
.tt-ps-nav-text {
}

/* Portfolio single nav subtitle */
.tt-ps-nav-subtitle {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 20px;
	font-size: 19px;
	font-weight: 500;
	line-height: 1.2;
}
@media (max-width: 1400px) {
	.tt-ps-nav-subtitle {
		gap: 10px;
		margin-bottom: 15px;
		font-size: 17px;
	}
}
.tt-ps-nav-item.tt-ps-nav-next .tt-ps-nav-subtitle {
	justify-content: flex-end;
}
.tt-ps-nav-arrow {
	width: 24px;
	height: 24px;
}
@media (max-width: 1400px) {
	.tt-ps-nav-arrow {
		width: 21px;
		height: 21px;
	}
}
.tt-ps-nav-item.tt-ps-nav-prev .tt-ps-nav-arrow {
	transform: rotate(180deg);
}

.tt-ps-nav-arrow svg {
	fill: var(--tt-dark-color);
}

/* Portfolio single nav title */
.tt-ps-nav-title {
	margin: 0;
	font-size: clamp(22px, 2vw, 32px);
	color: var(--tt-text-color);
	line-height: 1.2;

	/* Show max 2 line of text */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.tt-ps-nav-title a {
	color: var(--tt-text-color);
}
.tt-ps-nav-title a:hover,
.tt-ps-nav-title a:focus {
	color: currentColor;
}

/* Portfolio single nav categories */
.tt-ps-nav-categories {
	--_pgi-category-height: 25px;
	--_pgi-category-border: 1px;

	display: flex;
	flex-wrap: wrap;
	height: calc(var(--_pgi-category-height) + var(--_pgi-category-border) * 2);
	margin-top: 15px;
	overflow: hidden;
}
.tt-ps-nav-next .tt-ps-nav-categories {
	justify-content: flex-end;
}
.tt-ps-nav-category {
	display: inline-flex;
	align-items: center;
	height: var(--_pgi-category-height);
	margin: 0 5px 5px 0;
	padding: 0 10px;
	font-size: calc(12px + 0.1vw);
	font-weight: normal;
	line-height: 1;
	color: var(--tt-text-color);
	border-radius: 100px;
	border: var(--_pgi-category-border) solid var(--tt-border-color);
	transition: background-color .2s, color .2s, border-color .2s;
}
.tt-ps-nav-category:hover,
.tt-ps-nav-category:focus {
	background-color: var(--tt-dark-color);
	color: var(--tt-light-color);
	border-color: var(--tt-dark-color);
}

/* Portfolio single nav styles 
=============================== */
/* Image boxed style */
.tt-portf-single-nav.tt-ps-nav-boxed .tt-ps-nav-image {
	background-color: var(--tt-accent-bg-color);
	padding: clamp(6px, 1vw, 12px);
	border: 2px solid var(--tt-border-color);
	box-shadow: 6px 6px 0 -2px var(--tt-shadow-color);
}
.tt-wrap:not([class*="max-width-"]) .tt-portf-single-nav.tt-ps-nav-boxed .tt-ps-nav-image {
	padding: 8px;
}

/* Image tilted style */
.tt-portf-single-nav.tt-ps-nav-tilted .tt-ps-nav-item.tt-ps-nav-prev .tt-ps-nav-image {
	transform: rotate(-3deg);
}
.tt-portf-single-nav.tt-ps-nav-tilted .tt-ps-nav-item.tt-ps-nav-next .tt-ps-nav-image {
	transform: rotate(3deg);
}

/* Image landscape/portrait mode */
.tt-portf-single-nav.tt-ps-nav-landscape .tt-ps-nav-image img {
	aspect-ratio: 3 / 2;
}
.tt-portf-single-nav.tt-ps-nav-portrait .tt-ps-nav-image img {
	aspect-ratio: 3 / 4;
}


/* -------------------------------------------------------------------- *
 * Contact form
/* -------------------------------------------------------------------- */

#tt-contact-form {
	position: relative;
}

.tt-contact-form-inner {
	position: relative;
	z-index: 1;
	transition: opacity .3s, filter .3s;
}
#tt-contact-form.cfm-submitted .tt-contact-form-inner {
	position: relative;
	z-index: 1;
	opacity: .28;
	filter: blur(8px) saturate(.75);
	pointer-events: none;
}

.tt-form-check label.text-small,
.tt-form-check .text-small {
	font-size: clamp(11px, .78vw, 13px);
	line-height: 1.35;
}

.tt-form-check label.text-small a.tt-link,
.tt-form-check .text-small a.tt-link {
	color: currentColor;
}

.tt-form-check label.text-small a.tt-link:hover,
.tt-form-check label.text-small a.tt-link:focus,
.tt-form-check .text-small a.tt-link:hover,
.tt-form-check .text-small a.tt-link:focus {
	color: currentColor;
}


/* Contact form messages 
========================= */
#tt-contact-form-messages {
	position: absolute;
	top: 8%;
	left: 50%;
	width: 100%;
	max-width: 520px;
	height: 0;
	visibility: hidden;
	z-index: 2;
	opacity: 0;
	transform: translate3d(-50%, 18px, 0) scale(.96);
	transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
}
#tt-contact-form.cfm-submitted #tt-contact-form-messages {
	height: auto;
	visibility: visible;
	opacity: 1;
	transform: translate3d(-50%, 0, 0) scale(1);
}

.tt-cfm-inner {
	position: relative;
}

/* Message content (added dynamically) */
.tt-cfm-inner span {
	position: relative;
	display: block;
	padding: clamp(34px, 4vw, 52px) clamp(26px, 4vw, 46px);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .04)),
		color-mix(in srgb, var(--tt-bg-color) 72%, transparent);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 22%, transparent);
	box-shadow: 0 24px 80px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .18);
	backdrop-filter: blur(20px) saturate(150%);
	-webkit-backdrop-filter: blur(20px) saturate(150%);
	font-size: clamp(16px, 1.1vw, 19px);
	font-weight: 600;
	line-height: 1.35;
	color: var(--tt-text-color);
	text-align: center;
	border-radius: clamp(18px, 3vw, 34px);
	overflow: hidden;
}
.tt-cfm-inner span::before {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0 auto 18px;
	background-color: var(--tt-text-color);
	font-family: "Font Awesome 5 Free";
	font-size: 20px;
	font-weight: 900;
	color: var(--tt-bg-color);
	border-radius: 50%;
	box-shadow: 0 0 0 10px color-mix(in srgb, var(--tt-text-color) 8%, transparent);
}
.tt-cfm-inner span::after {
	content: "";
	position: absolute;
	inset: 1px;
	background: linear-gradient(135deg, rgba(255, 255, 255, .22), transparent 42%);
	border-radius: inherit;
	pointer-events: none;
}
.tt-cfm-sending {
}
.tt-cfm-sending::before {
	content: "\f1d8";
}
.tt-cfm-success::before {
	content: "\f00c";
}
.tt-cfm-error {
	color: var(--tt-text-color);
	border-color: color-mix(in srgb, #ff6b5f 42%, transparent);
	box-shadow: 0 24px 80px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .18);
}
.tt-cfm-error::before {
	content: "\f00d";
}

/* Close button */
.tt-cfm-close {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 14px;
	right: 14px;
	width: 34px;
	height: 34px;
	background-color: color-mix(in srgb, var(--tt-text-color) 10%, transparent);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	font-size: 13px;
	color: var(--tt-text-color);
	line-height: 1;
	cursor: pointer;
	z-index: 2;
	border-radius: 100px;
	transition: transform .4s;
}
.tt-cfm-close:hover {
	transform: rotate(90deg);
}


/* -------------------------------------------------------------------- *
 * Contact info
/* -------------------------------------------------------------------- */

.tt-contact-info {
}
.tt-contact-info-inner {
}
.tt-contact-info-icon {
	margin-bottom: 20px;
	fill: var(--tt-text-color);
}
.tt-contact-info-heading {
	margin: 0 0 20px 0;
	font-size: clamp(24px, 2vw, 28px);
}
.tt-contact-info .tt-social-buttons:not(.tt-sbtn-filled):not(.tt-sbtn-bordered) > ul {
	margin-left: -15px;
}


/* Contact info style
====================== */
/* Boxed style */
.tt-contact-info.tt-ci-boxed {
	background-color: var(--tt-accent-bg-color);
	padding: 7%;
	border-radius: clamp(10px, 3vw, 20px);
	border: 2px solid var(--tt-border-color);
	box-shadow: 9px 9px 0 -2px var(--tt-shadow-color);
}

/* Tilted style */
.tt-contact-info.tt-ci-boxed.tt-ci-tilted-1 {
	transform: rotate(1.5deg);
}
.tt-contact-info.tt-ci-boxed.tt-ci-tilted-2 {
	transform: rotate(-1.5deg);
}


/* ------------------------------------------------------------- *
 * Pump portfolio tweaks
/* ------------------------------------------------------------- */

.pump-case-title-mobile {
	display: none;
}

.pump-case-title-line {
	display: inline-flex;
	align-items: center;
	gap: .46em;
	margin-inline: .23em;
	white-space: nowrap;
}

.pump-case-title-mark {
	display: inline-block;
	width: .48em;
	height: .48em;
	margin: 0 .24em;
	border-radius: 999px;
	background-position: center;
	background-size: cover;
	vertical-align: .02em;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--tt-text-color) 14%, transparent);
}

.pump-case-title-mark-evamat,
.pump-case-title-mark-evamat-eu {
	background-image: url("../img/portfolio/evamat-case-mini2.webp");
}

.pump-case-title-mark-evamat-payments {
	background-image: url("../img/portfolio/evamat-case-mini1.webp");
}

.pump-case-title-mark-sovora {
	background-image: url("../img/portfolio/400/portfolio-6-400.jpg");
}

.pump-case-title-mark-sovora-eu {
	background-image: url("../img/portfolio/evamat-case-mini2.webp");
}

.pump-case-title-mark-sovora-payments {
	background-image: url("../img/portfolio/evamat-case-mini1.webp");
}

.tt-pscr-item-title .pump-case-title-mark {
	position: static !important;
	display: inline-block !important;
	width: .48em !important;
	height: .48em !important;
	max-width: .48em !important;
	max-height: .48em !important;
	margin: 0 .24em !important;
	border-radius: 999px;
	background-position: center;
	background-size: cover;
	vertical-align: .02em;
	transform: none !important;
}

.tt-pscr-item-title .pump-case-title-mark-evamat-eu,
.tt-pscr-item-title .pump-case-title-mark-evamat-payments,
.tt-pscr-item-title .pump-case-title-mark-sovora-eu,
.tt-pscr-item-title .pump-case-title-mark-sovora-payments {
	border-radius: 0 !important;
	background-position: center !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	box-shadow: none !important;
	margin: 0 !important;
	position: relative !important;
	z-index: 2 !important;
}

.tt-pscr-item-title .pump-case-title-mark-evamat-eu,
.tt-pscr-item-title .pump-case-title-mark-sovora-eu {
	width: 1.7em !important;
	height: 1.22em !important;
	min-width: 1.7em !important;
	max-width: 1.7em !important;
	max-height: 1.22em !important;
	vertical-align: -.24em !important;
}

.tt-pscr-item-title .pump-case-title-mark-sovora-payments,
.tt-pscr-item-title .pump-case-title-mark-evamat-payments {
	width: 2.12em !important;
	height: 1.52em !important;
	min-width: 2.12em !important;
	max-width: 2.12em !important;
	max-height: 1.52em !important;
	vertical-align: -.34em !important;
}

.pump-case-tech-visual {
	--pump-visual-ink: var(--tt-text-color);
	--pump-visual-surface: var(--tt-accent-bg-color);
	--pump-visual-surface-strong: color-mix(in srgb, var(--tt-accent-bg-color) 72%, var(--tt-text-color) 28%);
	--pump-visual-muted: color-mix(in srgb, var(--tt-text-color) 40%, transparent);
	--pump-visual-accent: var(--tt-main-color);
	position: relative;
	z-index: 2;
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	margin: 0;
	color: var(--pump-visual-ink);
	pointer-events: none;
}

.pump-case-tech-visual--automotive,
.pump-case-tech-visual--variants {
	width: 1.7em;
	height: 1.22em;
	min-width: 1.7em;
	vertical-align: -.24em;
}

.pump-case-tech-visual--commerce,
.pump-case-tech-visual--creative {
	width: 2.12em;
	height: 1.52em;
	min-width: 2.12em;
	vertical-align: -.34em;
}

.pump-case-tech-visual svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.pump-case-tech-visual .pump-visual-core,
.pump-case-tech-visual .pump-visual-service,
.pump-case-tech-visual .pump-visual-panel,
.pump-case-tech-visual .pump-visual-preview {
	transform-box: fill-box;
	transform-origin: center;
	animation: pumpVisualEnter .48s cubic-bezier(.22, 1, .36, 1) both;
}

.pump-case-tech-visual .pump-visual-service--one,
.pump-case-tech-visual .pump-visual-preview--one {
	animation-delay: .08s;
}

.pump-case-tech-visual .pump-visual-service--two,
.pump-case-tech-visual .pump-visual-preview--two {
	animation-delay: .14s;
}

.pump-case-tech-visual .pump-visual-service--three,
.pump-case-tech-visual .pump-visual-panel--mid {
	animation-delay: .2s;
}

.pump-case-tech-visual .pump-visual-service--four,
.pump-case-tech-visual .pump-visual-panel--front {
	animation-delay: .26s;
}

.pump-case-tech-visual .pump-visual-route,
.pump-case-tech-visual .pump-visual-connectors path,
.pump-case-tech-visual .pump-visual-motion-trail {
	fill: none;
	stroke: var(--pump-visual-muted);
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 240;
	animation: pumpVisualLineIn .65s .12s cubic-bezier(.22, 1, .36, 1) both;
}

.pump-case-tech-visual--automotive .pump-visual-car {
	transition: transform .38s cubic-bezier(.22, 1, .36, 1);
}

.pump-case-tech-visual--automotive .pump-visual-car path {
	fill: var(--pump-visual-surface);
	stroke: var(--pump-visual-ink);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pump-case-tech-visual--automotive .pump-visual-car circle {
	fill: var(--pump-visual-ink);
	stroke: var(--pump-visual-surface);
	stroke-width: 2;
}

.pump-case-tech-visual--automotive .pump-visual-mat {
	transition: transform .38s cubic-bezier(.22, 1, .36, 1);
}

.pump-case-tech-visual--automotive .pump-visual-mat path {
	stroke: var(--pump-visual-accent);
	stroke-width: 3;
	stroke-linejoin: round;
}

.pump-case-tech-visual--automotive .pump-visual-mat circle {
	fill: var(--pump-visual-surface);
	stroke: var(--pump-visual-ink);
	stroke-width: 1.5;
}

.pump-case-tech-visual--automotive .pump-visual-pattern-line {
	fill: none;
	stroke: var(--pump-visual-muted);
	stroke-width: 1;
}

.pump-case-tech-visual--automotive .pump-visual-eu > circle:first-child {
	fill: var(--pump-visual-surface);
	stroke: var(--pump-visual-ink);
	stroke-width: 2;
}

.pump-case-tech-visual--automotive .pump-visual-eu > circle:not(:first-child),
.pump-case-tech-visual .pump-visual-route-dot,
.pump-case-tech-visual .pump-visual-flow-dot {
	fill: var(--pump-visual-accent);
}

.pump-case-tech-visual .pump-visual-route-dot,
.pump-case-tech-visual .pump-visual-flow-dot {
	opacity: 0;
}

.pump-case-tech-visual--commerce .pump-visual-service rect {
	fill: var(--pump-visual-surface);
	stroke: var(--pump-visual-ink);
	stroke-width: 1.5;
}

.pump-case-tech-visual--commerce .pump-visual-service path {
	fill: none;
	stroke: var(--pump-visual-ink);
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pump-case-tech-visual--commerce .pump-visual-service circle {
	fill: var(--pump-visual-accent);
}

.pump-case-tech-visual--commerce text {
	fill: var(--pump-visual-ink);
	font-family: var(--tt-body-font);
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 0;
	text-anchor: middle;
}

.pump-case-tech-visual--commerce .pump-visual-checkout-shadow rect,
.pump-case-tech-visual--variants .pump-visual-product-shadow path {
	fill: var(--pump-visual-ink);
	transform: translate(5px, 5px);
}

.pump-case-tech-visual--commerce .pump-visual-checkout > rect {
	fill: var(--pump-visual-surface);
	stroke: var(--pump-visual-ink);
	stroke-width: 2;
}

.pump-case-tech-visual--commerce .pump-visual-checkout > path {
	fill: none;
	stroke: var(--pump-visual-ink);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pump-case-tech-visual--commerce .pump-visual-checkout > circle {
	fill: var(--pump-visual-accent);
}

.pump-case-tech-visual--commerce .pump-visual-checkout > circle + path {
	stroke: var(--tt-light-color);
}

.pump-case-tech-visual--creative .pump-visual-panel {
	transition: transform .4s cubic-bezier(.22, 1, .36, 1);
}

.pump-case-tech-visual--creative .pump-visual-panel rect {
	fill: var(--pump-visual-surface);
	stroke: var(--pump-visual-ink);
	stroke-width: 2;
}

.pump-case-tech-visual--creative .pump-visual-panel--mid rect {
	fill: var(--pump-visual-surface-strong);
}

.pump-case-tech-visual--creative .pump-visual-panel--front > rect {
	fill: var(--pump-visual-ink);
}

.pump-case-tech-visual--creative .pump-visual-panel path,
.pump-case-tech-visual--creative .pump-visual-panel circle {
	fill: none;
	stroke: var(--pump-visual-ink);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pump-case-tech-visual--creative .pump-visual-panel--front path,
.pump-case-tech-visual--creative .pump-visual-panel--front circle {
	stroke: var(--tt-light-color);
}

.pump-case-tech-visual--creative .pump-visual-carousel rect {
	fill: var(--pump-visual-surface);
	stroke: var(--pump-visual-ink);
	stroke-width: 1.5;
}

.pump-case-tech-visual--creative .pump-visual-carousel circle {
	fill: var(--pump-visual-muted);
}

.pump-case-tech-visual--creative .pump-visual-carousel .pump-visual-carousel-active {
	fill: var(--pump-visual-accent);
	transition: transform .38s cubic-bezier(.22, 1, .36, 1);
}

.pump-case-tech-visual .pump-visual-cursor path {
	fill: var(--pump-visual-surface);
	stroke: var(--pump-visual-ink);
	stroke-width: 1.5;
	stroke-linejoin: round;
}

.pump-case-tech-visual .pump-visual-hover-ring {
	fill: none;
	stroke: var(--pump-visual-accent);
	stroke-width: 1.5;
	opacity: 0;
	transform-box: fill-box;
	transform-origin: center;
	transition: opacity .25s ease, transform .35s cubic-bezier(.22, 1, .36, 1);
}

.pump-case-tech-visual--variants .pump-visual-preview rect,
.pump-case-tech-visual--variants .pump-visual-format-toggle rect {
	fill: var(--pump-visual-surface);
	stroke: var(--pump-visual-ink);
	stroke-width: 1.5;
}

.pump-case-tech-visual--variants .pump-visual-preview path,
.pump-case-tech-visual--variants .pump-visual-format-toggle path {
	fill: none;
	stroke: var(--pump-visual-ink);
	stroke-width: 1.5;
	stroke-linecap: round;
}

.pump-case-tech-visual--variants .pump-visual-preview circle,
.pump-case-tech-visual--variants .pump-visual-format-toggle circle {
	fill: var(--pump-visual-accent);
}

.pump-case-tech-visual--variants .pump-visual-product > path:first-child {
	stroke: var(--pump-visual-ink);
	stroke-width: 2;
	stroke-linejoin: round;
	transition: stroke .3s ease;
}

.pump-case-tech-visual--variants .pump-visual-product > path:not(:first-child) {
	fill: none;
	stroke: var(--pump-visual-ink);
	stroke-width: 1.5;
	stroke-linecap: round;
}

.pump-case-tech-visual--variants .pump-visual-product > circle {
	fill: var(--pump-visual-accent);
}

.pump-case-tech-visual--variants #sovora-pack-pattern circle,
.pump-case-tech-visual--variants #sovora-pack-pattern path {
	fill: var(--pump-visual-muted);
}

.pump-case-tech-visual--variants .pump-visual-swatches circle {
	fill: var(--pump-visual-surface-strong);
	stroke: var(--pump-visual-ink);
	stroke-width: 1.5;
}

.pump-case-tech-visual--variants .pump-visual-swatches .pump-visual-swatch-active {
	fill: var(--pump-visual-accent);
	transition: transform .38s cubic-bezier(.22, 1, .36, 1);
}

.tt-pscr-item:hover .pump-case-tech-visual--automotive .pump-visual-car {
	transform: translateX(3px);
}

.tt-pscr-item:hover .pump-case-tech-visual--automotive .pump-visual-mat--front {
	transform: translate(-2px, -2px);
}

.tt-pscr-item:hover .pump-case-tech-visual--automotive .pump-visual-mat--rear {
	transform: translate(2px, -1px);
}

.tt-pscr-item:hover .pump-case-tech-visual--automotive .pump-visual-route-dot {
	animation: pumpRouteDot .42s ease-out both;
}

.tt-pscr-item:hover .pump-case-tech-visual--commerce .pump-visual-core {
	transform: translateY(-3px);
}

.tt-pscr-item:hover .pump-case-tech-visual--commerce .pump-visual-service--one {
	transform: translate(-2px, -2px);
}

.tt-pscr-item:hover .pump-case-tech-visual--commerce .pump-visual-service--two {
	transform: translate(2px, -2px);
}

.tt-pscr-item:hover .pump-case-tech-visual--commerce .pump-visual-service--three {
	transform: translate(-2px, 2px);
}

.tt-pscr-item:hover .pump-case-tech-visual--commerce .pump-visual-service--four {
	transform: translate(2px, 2px);
}

.tt-pscr-item:hover .pump-case-tech-visual--commerce .pump-visual-flow-dot {
	animation: pumpCommerceDot .42s ease-out both;
}

.tt-pscr-item:hover .pump-case-tech-visual--creative .pump-visual-panel--back {
	transform: translate(-3px, 2px);
}

.tt-pscr-item:hover .pump-case-tech-visual--creative .pump-visual-panel--mid {
	transform: translate(3px, -3px);
}

.tt-pscr-item:hover .pump-case-tech-visual--creative .pump-visual-panel--front {
	transform: translate(2px, 2px);
}

.tt-pscr-item:hover .pump-case-tech-visual--creative .pump-visual-hover-ring {
	opacity: 1;
	transform: scale(1.08);
}

.tt-pscr-item:hover .pump-case-tech-visual--creative .pump-visual-carousel-active {
	transform: translateX(15px);
}

.tt-pscr-item:hover .pump-case-tech-visual--variants .pump-visual-swatch-active {
	transform: translateX(22px);
}

.tt-pscr-item:hover .pump-case-tech-visual--variants .pump-visual-product > path:first-child {
	stroke: var(--pump-visual-accent);
}

.tt-pscr-item:hover .pump-case-tech-visual--variants .pump-visual-preview--one {
	transform: translate(-3px, 2px);
}

.tt-pscr-item:hover .pump-case-tech-visual--variants .pump-visual-preview--two {
	transform: translate(3px, -2px);
}

@keyframes pumpVisualEnter {
	from {
		opacity: 0;
		transform: translateY(5px) scale(.96);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes pumpVisualLineIn {
	from {
		opacity: 0;
		stroke-dashoffset: 240;
	}
	to {
		opacity: 1;
		stroke-dashoffset: 0;
	}
}

@keyframes pumpRouteDot {
	0% {
		opacity: 0;
		transform: translate(0, 0);
	}
	20% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: translate(138px, -4px);
	}
}

@keyframes pumpCommerceDot {
	0% {
		opacity: 0;
		transform: translate(0, 0);
	}
	20% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: translate(55px, 0);
	}
}

@media (min-width: 769px) {
	.pump-evamat-scrolling-image,
	.pump-sovora-scrolling-image {
		display: none !important;
	}
}

@media (max-width: 768px) {
	.pump-case-tech-visual {
		display: none !important;
	}
}


.pump-case-title-dot {
	display: inline-block;
	width: .38em;
	height: .38em;
	margin: 0 .28em;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 28%, transparent);
	border-radius: 999px;
	background:
		radial-gradient(circle at 50% 50%, var(--tt-text-color) 0 28%, transparent 30%),
		color-mix(in srgb, var(--tt-text-color) 7%, transparent);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--tt-text-color) 5%, transparent);
	opacity: .8;
	vertical-align: .08em;
}

.pump-case-mobile-badge {
	display: none;
}


/* ------------------------------------------------------------- *
 * Pump agency custom sections
/* ------------------------------------------------------------- */

.pump-benefits-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 30px);
}

.pump-benefit-card {
	position: relative;
	min-height: 280px;
	padding: clamp(28px, 3vw, 44px);
	background-color: var(--tt-accent-bg-color);
	background-color: color-mix(in srgb, var(--tt-accent-bg-color) 82%, transparent);
	border: 2px solid var(--tt-border-color);
	border-radius: clamp(18px, 2.5vw, 34px);
	box-shadow: 8px 8px 0 -2px var(--tt-shadow-color);
	overflow: hidden;
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.pump-benefit-card:hover {
	transform: translate3d(-3px, -3px, 0);
	box-shadow: 12px 12px 0 -2px var(--tt-shadow-color);
}

.pump-benefit-card:hover .pump-benefit-icon {
	opacity: .16;
	transform: translate3d(-8px, 8px, 0) rotate(-6deg) scale(1.08);
}

.pump-benefit-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-bottom: 28px;
	background-color: var(--tt-text-color);
	color: var(--tt-bg-color);
	border-radius: 50%;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: -.02em;
}

.pump-benefit-icon {
	position: absolute;
	top: 22px;
	right: 24px;
	font-size: clamp(58px, 6vw, 108px);
	line-height: 1;
	color: var(--tt-text-color);
	opacity: .055;
	transform: rotate(-10deg);
	transition: opacity .35s ease, transform .35s ease;
	pointer-events: none;
}

.pump-benefit-card h3 {
	position: relative;
	margin: 0 0 18px;
	font-size: clamp(25px, 2.2vw, 34px);
	line-height: .98;
	letter-spacing: -.06em;
	z-index: 1;
}

.pump-benefit-card p {
	position: relative;
	margin: 0;
	font-size: clamp(16px, 1.05vw, 19px);
	line-height: 1.45;
	opacity: .82;
	z-index: 1;
}

.pump-home-contact {
	text-align: left;
	scroll-margin-top: 120px;
}

.pump-contact-page-section {
	padding-top: clamp(150px, 12vw, 210px) !important;
}

.pump-page-hero {
	padding-top: clamp(150px, 12vw, 210px) !important;
}

.pump-portfolio-page-body .pump-page-hero .tt-section-inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: end;
	column-gap: clamp(40px, 7vw, 120px);
}

.pump-portfolio-page-body .pump-page-hero .tt-heading {
	min-width: 0;
	margin-bottom: 0;
}

.pump-portfolio-page-body .pump-page-hero .pump-page-lead {
	justify-self: end;
	width: 100%;
	max-width: 650px;
	margin: 0 0 clamp(8px, 1vw, 16px);
	font-size: clamp(17px, 1.18vw, 22px);
	line-height: 1.32;
	letter-spacing: -.035em;
}

@media (max-width: 900px) {
	.pump-portfolio-page-body .pump-page-hero .tt-section-inner {
		display: block;
	}

	.pump-portfolio-page-body .pump-page-hero .pump-page-lead {
		max-width: 760px;
		margin: 28px 0 0;
	}
}

.pump-page-lead {
	max-width: 920px;
	margin: 28px 0 0;
	font-size: clamp(17px, 1.35vw, 25px);
	line-height: 1.22;
	letter-spacing: -.045em;
	opacity: .72;
}

.tt-heading-center .pump-page-lead,
.pump-page-hero .tt-heading-center + .pump-page-lead {
	margin-inline: auto;
}

.pump-portfolio-page {
	padding-inline: clamp(16px, 3vw, 56px);
}

.pump-portfolio-page .tt-pgi-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.pump-portfolio-page .tt-pgi-category {
	margin: 0;
}

.pump-portfolio-page .tt-pgi-image {
	isolation: isolate;
}

.pump-case-preview-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	max-width: calc(100% - 32px);
	padding: 9px 13px;
	border: 1px solid color-mix(in srgb, var(--tt-light-color) 34%, transparent);
	border-radius: 999px;
	background:
		linear-gradient(135deg, rgb(255 255 255 / .26), rgb(255 255 255 / .08)),
		rgb(255 255 255 / .12);
	-webkit-backdrop-filter: blur(18px) saturate(145%);
	backdrop-filter: blur(18px) saturate(145%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / .34),
		0 14px 34px rgb(0 0 0 / .22);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .02em;
	text-shadow: 0 1px 8px rgb(0 0 0 / .34);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	pointer-events: none;
	transition: transform .3s ease, border-color .3s ease, background-color .3s ease;
}

.pump-portfolio-page .tt-pgi-image:hover .pump-case-preview-badge {
	transform: translate3d(0, -2px, 0);
	border-color: color-mix(in srgb, var(--tt-light-color) 56%, transparent);
	background:
		linear-gradient(135deg, rgb(255 255 255 / .34), rgb(255 255 255 / .12)),
		rgb(255 255 255 / .16);
}

.pump-video-case-preview::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, transparent 42%, rgb(0 0 0 / .34) 100%);
	pointer-events: none;
	transition: background-color .35s ease;
}

.pump-video-case-play {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	display: grid;
	width: clamp(58px, 5vw, 78px);
	aspect-ratio: 1;
	place-items: center;
	border: 1px solid rgb(255 255 255 / .72);
	border-radius: 50%;
	background: var(--tt-main-color);
	box-shadow: 0 16px 38px rgb(0 0 0 / .3);
	color: #fff;
	transform: translate(-50%, -50%);
	transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease;
}

.pump-video-case-play i {
	margin-left: 4px;
	font-size: clamp(18px, 1.6vw, 25px);
}

.pump-video-case-preview:hover .pump-video-case-play {
	transform: translate(-50%, -50%) scale(1.1);
	box-shadow: 0 20px 46px rgb(0 0 0 / .4);
}

.pump-inline-loop-video {
	isolation: isolate;
	display: grid;
	place-items: center;
	height: auto !important;
	aspect-ratio: 3 / 2;
	background:
		repeating-linear-gradient(135deg, transparent 0 22px, rgb(255 255 255 / .045) 22px 23px),
		radial-gradient(circle at 50% 45%, #35383d 0, #1b1d20 48%, #111215 100%);
}

.pump-inline-loop-video::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(90deg, rgb(0 0 0 / .42), transparent 28% 72%, rgb(0 0 0 / .42));
	pointer-events: none;
}

.tt-pgi-video.pump-inline-loop-video video {
	position: relative;
	z-index: 1;
	width: 37.5%;
	max-width: none;
	height: 100%;
	aspect-ratio: 9 / 16;
	object-fit: contain;
	background: #0e0f11;
	box-shadow: 0 0 48px rgb(0 0 0 / .48);
}

.tt-pgi-video.pump-inline-loop-video--square video {
	width: 66.6667%;
	aspect-ratio: 1;
	object-fit: cover;
}

.tt-pgi-video.pump-inline-loop-video--wide video {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	background: transparent;
	box-shadow: none;
}

.pump-inline-loop-video .pump-case-preview-badge {
	z-index: 3;
}

.pump-inline-loop-format {
	position: absolute;
	right: 16px;
	bottom: 14px;
	z-index: 2;
	color: rgb(255 255 255 / .58);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	pointer-events: none;
}

@media (max-width: 768px) {
	.pump-inline-loop-format {
		right: 12px;
		bottom: 10px;
	}
}

.pump-video-case-icon {
	display: grid;
	place-items: center;
}

.pump-video-case-icon i {
	font-size: .42em;
}

.pump-filter-contact-card {
	display: none;
}

.pump-filter-contact-card[style*="inline-grid"] {
	animation: pump-contact-card-pointer-unlock .5s linear both;
}

@keyframes pump-contact-card-pointer-unlock {
	0%, 99% { pointer-events: none; }
	100% { pointer-events: auto; }
}

.pump-portfolio-contact-visual {
	height: auto !important;
	aspect-ratio: 3 / 2;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 28%, transparent);
	background:
		linear-gradient(135deg, transparent 0 48%, color-mix(in srgb, var(--tt-light-color) 7%, transparent) 48% 52%, transparent 52% 100%),
		var(--tt-dark-color);
	background-size: 34px 34px, auto;
	color: var(--tt-light-color);
}

.pump-portfolio-contact-visual::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(120deg, rgb(255 255 255 / .04), transparent 40%, rgb(255 255 255 / .08));
	pointer-events: none;
}

.pump-portfolio-contact-pattern {
	position: absolute;
	right: -3%;
	bottom: -12%;
	z-index: 0;
	color: rgb(255 255 255 / .055);
	font-size: clamp(92px, 12vw, 190px);
	font-weight: 800;
	line-height: .8;
	letter-spacing: 0;
	pointer-events: none;
	transition: transform .65s cubic-bezier(.165, .84, .44, 1), color .35s ease;
}

.pump-portfolio-contact-copy {
	position: relative;
	z-index: 2;
	display: flex;
	height: 100%;
	box-sizing: border-box;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	padding: clamp(28px, 3vw, 42px) clamp(22px, 3vw, 42px) clamp(18px, 2vw, 30px);
}

.pump-portfolio-contact-copy strong {
	display: block;
	max-width: 620px;
	margin-bottom: 8px;
	color: var(--tt-light-color);
	font-size: clamp(22px, 2vw, 34px);
	line-height: .94;
}

.pump-portfolio-contact-copy > span {
	display: block;
	max-width: 590px;
	color: color-mix(in srgb, var(--tt-light-color) 72%, transparent);
	font-size: clamp(12px, 1vw, 16px);
	line-height: 1.28;
}

.pump-portfolio-contact-item .tt-pgi-title {
	font-size: clamp(22px, 1.8vw, 30px);
	line-height: 1.08;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
}

.pump-portfolio-contact-visual:hover .pump-portfolio-contact-pattern {
	color: rgb(255 255 255 / .09);
	transform: translate3d(-2%, -3%, 0);
}

@media (max-width: 767px) {
	.pump-portfolio-contact-copy {
		padding: 32px 28px 28px;
	}

	.pump-portfolio-contact-copy strong {
		font-size: clamp(27px, 8vw, 36px);
	}
}

.pump-page-hero + .tt-section .pump-portfolio-page {
	margin-top: clamp(10px, 2vw, 28px);
}

.pump-page-lead {
	max-width: 980px;
}

.pump-page-lead a {
	color: var(--tt-text-color);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.pump-blog-page {
	max-width: 1500px;
	margin-inline: auto;
	padding-inline: clamp(16px, 3vw, 56px);
}

.pump-blog-page .pump-page-hero {
	padding-bottom: clamp(24px, 3.2vw, 48px) !important;
}

.pump-blog-page .pump-page-hero .tt-section-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, .62fr);
	align-items: end;
	column-gap: clamp(40px, 6vw, 110px);
}

.pump-blog-page .pump-page-hero .tt-heading {
	margin-bottom: 0;
	min-width: 0;
}

.pump-blog-page .pump-page-hero .tt-heading-title {
	max-width: 100%;
	font-size: clamp(54px, 5.4vw, 96px);
	line-height: .92;
	letter-spacing: -.065em;
	white-space: normal;
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.pump-blog-page .pump-page-hero .pump-page-lead {
	max-width: 650px;
	margin: 0 0 clamp(8px, 1.1vw, 18px);
	justify-self: end;
	font-size: clamp(17px, 1.18vw, 22px);
	line-height: 1.32;
}

.pump-blog-heading-section {
	padding-top: clamp(130px, 12vw, 170px) !important;
}

.pump-blog-list-section {
	padding-top: 0;
}

.pump-pinned-blog-section {
	position: relative;
	z-index: 1;
	padding-top: 0 !important;
}

.pump-pinned-head {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 18px;
	margin-bottom: -18px;
	padding-left: 0;
}

.pump-pinned-head span {
	position: relative;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 38%, transparent);
	border-radius: 999px;
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--tt-bg-color) 78%, transparent), color-mix(in srgb, #fff 22%, transparent)),
		color-mix(in srgb, var(--tt-bg-color) 82%, transparent);
	color: color-mix(in srgb, var(--tt-text-color) 86%, transparent);
	font-size: clamp(12px, .78vw, 14px);
	font-weight: 700;
	letter-spacing: .015em;
	line-height: 1;
	box-shadow:
		0 14px 36px rgba(15, 16, 20, .12),
		inset 0 1px 0 color-mix(in srgb, #fff 48%, transparent);
	backdrop-filter: blur(14px) saturate(120%);
	-webkit-backdrop-filter: blur(14px) saturate(120%);
}

.pump-pinned-head i {
	font-size: .9em;
}

.pump-pinned-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) minmax(0, .85fr);
	grid-auto-rows: minmax(190px, auto);
	gap: clamp(14px, 1.5vw, 22px);
	position: relative;
	padding: clamp(28px, 2.8vw, 42px) clamp(14px, 1.6vw, 24px) clamp(14px, 1.6vw, 24px);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 22%, transparent);
	border-radius: clamp(24px, 2.4vw, 34px);
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--tt-bg-color) 56%, transparent), color-mix(in srgb, #fff 16%, transparent)),
		color-mix(in srgb, var(--tt-bg-color) 70%, transparent);
	box-shadow:
		0 22px 70px rgba(15, 16, 20, .07),
		inset 0 1px 0 color-mix(in srgb, #fff 42%, transparent);
	backdrop-filter: blur(18px) saturate(122%);
	-webkit-backdrop-filter: blur(18px) saturate(122%);
}

.pump-pinned-card {
	position: relative;
	display: flex;
	min-height: clamp(220px, 22vw, 330px);
	overflow: hidden;
	isolation: isolate;
	padding: clamp(16px, 1.6vw, 24px);
	align-items: flex-end;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: clamp(18px, 1.8vw, 26px);
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--tt-bg-color) 66%, transparent), color-mix(in srgb, #fff 18%, transparent)),
		color-mix(in srgb, var(--tt-bg-color) 78%, transparent);
	box-shadow:
		0 20px 58px rgba(15, 16, 20, .08),
		inset 0 1px 0 color-mix(in srgb, #fff 42%, transparent);
	backdrop-filter: blur(18px) saturate(130%);
	-webkit-backdrop-filter: blur(18px) saturate(130%);
	color: var(--tt-text-color);
	transition: transform .42s ease, border-color .42s ease, box-shadow .42s ease;
}

.pump-pinned-card-main {
	grid-row: span 2;
	min-height: clamp(390px, 44vw, 690px);
}

.pump-pinned-card:nth-child(4) {
	grid-column: span 2;
}

.pump-pinned-card:hover,
.pump-pinned-card:focus {
	color: var(--tt-text-color);
	transform: translateY(-4px);
	border-color: color-mix(in srgb, var(--tt-text-color) 35%, transparent);
	box-shadow:
		0 24px 66px rgba(15, 16, 20, .12),
		inset 0 1px 0 color-mix(in srgb, #fff 48%, transparent);
}

.pump-pinned-image {
	position: absolute;
	inset: 10px;
	z-index: -2;
	margin: 0;
	overflow: hidden;
	border-radius: calc(clamp(18px, 1.8vw, 26px) - 8px);
	background-color: color-mix(in srgb, var(--tt-text-color) 7%, transparent);
}

.pump-pinned-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.02);
	transition: transform .7s cubic-bezier(.215,.61,.355,1);
}

.pump-pinned-card:hover .pump-pinned-image img,
.pump-pinned-card:focus .pump-pinned-image img {
	transform: scale(1.07);
}

.pump-pinned-card::before {
	content: "";
	position: absolute;
	inset: 10px;
	z-index: -1;
	border-radius: calc(clamp(18px, 1.8vw, 26px) - 8px);
	background:
		linear-gradient(180deg, rgba(0, 0, 0, .05) 0%, rgba(0, 0, 0, .28) 42%, rgba(0, 0, 0, .76) 100%),
		linear-gradient(120deg, rgba(255, 255, 255, .2), transparent 44%);
}

.pump-pinned-badge {
	position: absolute;
	top: clamp(18px, 1.5vw, 24px);
	left: clamp(18px, 1.5vw, 24px);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .38);
	border-radius: 999px;
	background: rgba(255, 255, 255, .18);
	backdrop-filter: blur(14px) saturate(130%);
	-webkit-backdrop-filter: blur(14px) saturate(130%);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	text-shadow: 0 1px 10px rgba(0, 0, 0, .25);
}

.pump-pinned-badge span {
	display: none;
}

.pump-pinned-badge i {
	font-size: 13px;
}

.pump-pinned-card h2 {
	max-width: 92%;
	margin: 0;
	color: #fff;
	font-size: clamp(20px, 1.55vw, 32px);
	line-height: 1.08;
	letter-spacing: .025em;
	text-transform: uppercase;
	text-shadow: 0 2px 22px rgba(0, 0, 0, .45);
}

.pump-pinned-card:not(.pump-pinned-card-main) h2 {
	font-size: clamp(15px, 1.02vw, 21px);
	line-height: 1.12;
}

.pump-blog-compact-page .bli-title {
	max-width: 920px;
}

.pump-blog-compact-page .bli-desc {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	min-height: 4.05em;
	overflow: hidden;
}

.pump-blog-compact-page .blog-list-item:first-child {
	border-top: 0 !important;
}

.pump-blog-compact-page .blog-list-item:last-child {
	border-bottom: 0 !important;
	margin-bottom: 0;
}

.pump-blog-compact-page.pump-blog-page {
	border-top: 0 !important;
}

.pump-blog-compact-page #blog-list.bli-compact {
	padding-top: 0;
	border-top: 0;
}

.pump-blog-compact-page #blog-list.bli-compact .blog-list-item {
	margin-bottom: clamp(26px, 3vw, 42px);
	padding-bottom: 0;
	border-bottom: 0;
}

.pump-blog-compact-page #blog-list.bli-compact .bli-inner {
	max-width: none;
	padding: clamp(22px, 2vw, 30px);
	background-color: color-mix(in srgb, var(--tt-bg-color) 88%, #fff);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 10%, transparent);
	border-radius: clamp(20px, 2vw, 28px);
	box-shadow: 0 18px 48px rgba(15, 16, 20, .06);
	transition: border-color .38s ease, box-shadow .38s ease, transform .38s ease;
}

.pump-blog-compact-page #blog-list.bli-compact .blog-list-item:hover .bli-inner,
.pump-blog-compact-page #blog-list.bli-compact .blog-list-item:focus-within .bli-inner {
	border-color: color-mix(in srgb, var(--tt-text-color) 44%, transparent);
	box-shadow:
		0 18px 48px rgba(15, 16, 20, .08),
		0 0 0 1px color-mix(in srgb, var(--tt-text-color) 22%, transparent);
}

.pump-blog-compact-page #blog-list.bli-compact .bli-image-wrap {
	flex: 0 0 42%;
	max-width: 42%;
	border-radius: clamp(18px, 1.8vw, 24px);
}

.pump-blog-compact-page #blog-list.bli-compact.bli-image-cropped .bli-image {
	padding-bottom: 62%;
}

.pump-blog-compact-page #blog-list.bli-compact .bli-image-wrap + .bli-info {
	padding-left: clamp(26px, 2.6vw, 48px);
}

.pump-blog-compact-page #blog-list.bli-compact .bli-info {
	flex: 0 0 58%;
	max-width: 58%;
}

.pump-blog-compact-page #blog-list.bli-compact .bli-info {
	padding-top: 0;
}

.pump-blog-compact-page #blog-list.bli-compact .bli-categories {
	margin-bottom: 18px;
}

.pump-blog-compact-page #blog-list.bli-compact .bli-title {
	margin-bottom: 12px;
	font-size: clamp(28px, 2.25vw, 42px);
	line-height: 1.08;
	letter-spacing: -.04em;
}

.pump-blog-compact-page #blog-list.bli-compact .bli-title a,
.pump-blog-compact-page #blog-list.bli-compact .bli-title a:hover,
.pump-blog-compact-page #blog-list.bli-compact .bli-title a:focus {
	color: var(--tt-text-color);
}

.pump-blog-compact-page #blog-list.bli-compact .bli-desc {
	margin-top: 0;
	font-size: clamp(16px, 1.02vw, 18px);
	line-height: 1.46;
	color: color-mix(in srgb, var(--tt-text-color) 82%, transparent);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	min-height: 0;
	overflow: hidden;
}

.pump-blog-compact-page #blog-list.bli-compact .bli-info .tt-btn {
	margin-top: clamp(22px, 2.2vw, 32px);
}

.pump-blog-pagination {
	margin-top: clamp(40px, 6vw, 80px);
}

.pump-blog-labels span,
.pump-blog-post-tags li > span:not(:first-child),
.pump-blog-post-tags li:not(:first-child) span {
	display: inline-flex;
	align-items: center;
	margin: 0 5px 5px 0;
	padding: 4px 8px;
	border: 1px solid var(--tt-border-color);
	border-radius: 100px;
	color: var(--tt-text-color);
	font-size: calc(11px + 0.1vw);
	font-weight: normal;
	line-height: 1;
	cursor: default;
}

.pump-blog-post-tags li:first-child span {
	margin-right: 8px;
	padding: 0;
	border: 0;
}

.pump-article-page {
	max-width: 1040px;
	margin-inline: auto;
	padding-inline: clamp(16px, 3vw, 56px);
}

.pump-article-page .tt-heading {
	margin-bottom: clamp(38px, 5vw, 72px);
}

.pump-article-hero-image {
	overflow: hidden;
	margin-bottom: clamp(42px, 6vw, 82px);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: clamp(22px, 3vw, 42px);
	background-color: color-mix(in srgb, var(--tt-text-color) 5%, transparent);
}

.pump-article-hero-image img {
	display: block;
	width: 100%;
	height: min(56vw, 610px);
	min-height: 320px;
	object-fit: cover;
}

.pump-article-content {
	max-width: 860px;
	margin-inline: auto;
}

.pump-article-content p {
	margin-bottom: 24px;
	font-size: clamp(17px, 1.18vw, 22px);
	line-height: 1.55;
	color: color-mix(in srgb, var(--tt-text-color) 82%, transparent);
}

.pump-article-content .pump-article-lead {
	margin-bottom: 38px;
	font-size: clamp(20px, 1.55vw, 30px);
	line-height: 1.28;
	font-weight: 600;
	color: var(--tt-text-color);
}

.pump-article-content h2 {
	margin-top: clamp(44px, 5vw, 76px);
	margin-bottom: 22px;
	font-size: clamp(34px, 4vw, 58px);
	line-height: .96;
	letter-spacing: -.07em;
}

.pump-blog-post-header .ph-caption-title {
	max-width: 1120px;
	margin-inline: auto;
	font-size: clamp(42px, 6vw, 104px);
	line-height: .92;
	letter-spacing: -.075em;
	text-wrap: balance;
	text-shadow:
		0 2px 10px rgba(0, 0, 0, .32),
		0 18px 48px rgba(0, 0, 0, .38);
}

.pump-blog-post-header .ph-image-inner::before {
	opacity: .68;
}

.pump-blog-post-labels {
	gap: 7px;
}

.pump-blog-post-labels .ph-caption-category {
	cursor: default;
	padding: 8px 12px;
	border: 1px solid rgb(255 255 255 / .26);
	background: rgb(8 10 13 / .22);
	-webkit-backdrop-filter: blur(10px) saturate(125%);
	backdrop-filter: blur(10px) saturate(125%);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
	text-shadow: 0 1px 8px rgba(0, 0, 0, .38);
}

.pump-blog-post-labels .ph-caption-category,
.pump-blog-post-labels .ph-caption-category ~ .ph-caption-category ~ .ph-caption-category ~ .ph-caption-category {
	visibility: visible;
	width: auto;
}

.pump-blog-post-labels .ph-caption-category ~ .ph-caption-category ~ .ph-caption-category ~ .ph-caption-category ~ .ph-caption-category {
	display: block;
}

.pump-blog-post-labels .ph-caption-category + .ph-caption-category + .ph-caption-category + .ph-caption-category::before {
	display: none;
}

.pump-blog-breadcrumbs {
	position: absolute;
	left: 2.5%;
	bottom: 6%;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	max-width: min(520px, 42vw);
	padding: 9px 13px;
	border: 1px solid rgb(255 255 255 / .24);
	border-radius: 999px;
	background: rgb(255 255 255 / .12);
	-webkit-backdrop-filter: blur(12px) saturate(130%);
	backdrop-filter: blur(12px) saturate(130%);
	color: var(--tt-force-to-light-color);
	font-size: 13px;
	line-height: 1;
	white-space: nowrap;
}

.pump-blog-breadcrumbs a,
.pump-blog-breadcrumbs span {
	color: inherit;
}

.pump-blog-breadcrumbs a {
	text-decoration: none;
}

.pump-blog-breadcrumbs a:hover,
.pump-blog-breadcrumbs a:focus {
	color: var(--tt-force-to-light-color);
	opacity: .72;
}

.pump-blog-post .tt-blog-post-content > .text-lg {
	margin-bottom: clamp(38px, 5vw, 70px);
	font-size: clamp(22px, 2vw, 36px);
	line-height: 1.24;
	font-weight: 600;
	letter-spacing: -.045em;
}

.pump-blog-post .tt-blog-post-content h2 {
	margin-top: clamp(54px, 7vw, 96px);
	margin-bottom: 22px;
	font-size: clamp(36px, 4.6vw, 74px);
	line-height: .95;
	letter-spacing: -.075em;
}

.pump-blog-post .tt-blog-post-content p {
	font-size: clamp(17px, 1.18vw, 21px);
	line-height: 1.6;
	color: color-mix(in srgb, var(--tt-text-color) 82%, transparent);
}

.pump-blog-post blockquote {
	margin-top: clamp(42px, 6vw, 82px);
	margin-bottom: clamp(42px, 6vw, 82px);
}

.pump-blog-callout {
	--callout-accent: #d8c8aa;
	--callout-accent-soft: rgba(216, 200, 170, .16);
	--callout-mark: "INSIGHT";
	--callout-surface: color-mix(in srgb, var(--tt-accent-bg-color) 88%, #fff);
	--callout-line: color-mix(in srgb, var(--tt-text-color) 16%, transparent);
	--callout-text: color-mix(in srgb, var(--tt-text-color) 84%, transparent);
	--callout-title: var(--tt-text-color);
	--callout-pill-bg: color-mix(in srgb, var(--tt-bg-color) 72%, transparent);
	--callout-mark-color: color-mix(in srgb, var(--tt-text-color) 5%, transparent);
	--callout-highlight: rgba(255, 255, 255, .46);
	position: relative;
	isolation: isolate;
	margin: clamp(48px, 6.5vw, 92px) min(-34px, -2.4vw);
	padding: clamp(30px, 4.4vw, 58px) clamp(28px, 4.8vw, 66px);
	border: 1px solid var(--callout-line);
	border-radius: 8px;
	background:
		radial-gradient(circle at 12% 0%, var(--callout-accent-soft), transparent 32%),
		linear-gradient(135deg, var(--callout-highlight), transparent 42%, color-mix(in srgb, var(--callout-accent) 9%, transparent)),
		var(--callout-surface);
	box-shadow:
		0 22px 58px color-mix(in srgb, var(--tt-text-color) 12%, transparent),
		inset 0 1px 0 rgba(255, 255, 255, .34);
	overflow: hidden;
	transform: translateZ(0);
}

.pump-blog-callout::before {
	content: "";
	position: absolute;
	inset: 18px auto 18px 18px;
	width: 5px;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--callout-accent), transparent);
	box-shadow: 0 0 24px color-mix(in srgb, var(--callout-accent) 28%, transparent);
	z-index: 2;
}

.pump-blog-callout::after {
	content: var(--callout-mark);
	position: absolute;
	right: clamp(-18px, -1.2vw, -8px);
	bottom: clamp(-22px, -2vw, -12px);
	color: var(--callout-mark-color);
	font-size: clamp(64px, 9.2vw, 134px);
	font-weight: 900;
	line-height: .78;
	letter-spacing: -.08em;
	text-transform: uppercase;
	pointer-events: none;
	z-index: -1;
}

.pump-blog-callout-kicker {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 clamp(18px, 2.2vw, 28px);
	padding: 8px 12px 8px 9px;
	border: 1px solid var(--callout-line);
	border-radius: 999px;
	background: var(--callout-pill-bg);
	color: color-mix(in srgb, var(--tt-text-color) 72%, transparent);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
	z-index: 2;
}

.pump-blog-callout-kicker::before {
	display: inline-block;
	width: 9px;
	height: 9px;
	margin: 0;
	border: 0;
	border-radius: 50%;
	background: var(--callout-accent);
	box-shadow: 0 0 14px color-mix(in srgb, var(--callout-accent) 34%, transparent);
	content: "";
}

.pump-blog-callout > p,
.pump-blog-callout > h2,
.pump-blog-callout > ul {
	position: relative;
	z-index: 2;
}

.pump-blog-callout > p {
	max-width: 790px;
	margin-bottom: 16px;
	font-size: clamp(19px, 1.45vw, 25px) !important;
	line-height: 1.48 !important;
	color: var(--callout-text) !important;
}

.pump-blog-callout p:last-child {
	margin-bottom: 0;
}

.pump-blog-callout h2 {
	margin-top: 0 !important;
	margin-bottom: 22px !important;
	font-size: clamp(28px, 3.4vw, 52px) !important;
	line-height: 1 !important;
	letter-spacing: -.055em !important;
	color: var(--callout-title) !important;
}

.pump-blog-callout:hover {
	border-color: color-mix(in srgb, var(--callout-accent) 42%, rgba(255, 255, 255, .12));
}

.pump-blog-callout-insight {
	--callout-accent: #d8c8aa;
	--callout-accent-soft: rgba(216, 200, 170, .16);
	--callout-mark: "INSIGHT";
}

.pump-blog-callout-business {
	--callout-accent: #c8b795;
	--callout-accent-soft: rgba(200, 183, 149, .16);
	--callout-mark: "CASE";
	background:
		radial-gradient(circle at 12% 0%, var(--callout-accent-soft), transparent 34%),
		linear-gradient(135deg, var(--callout-highlight), transparent 42%, color-mix(in srgb, var(--callout-accent) 9%, transparent)),
		var(--callout-surface);
}

.pump-blog-callout-important {
	--callout-accent: #bda27f;
	--callout-accent-soft: rgba(189, 162, 127, .16);
	--callout-mark: "IMPORTANT";
	background:
		radial-gradient(circle at 12% 0%, var(--callout-accent-soft), transparent 34%),
		linear-gradient(135deg, var(--callout-highlight), transparent 42%, color-mix(in srgb, var(--callout-accent) 9%, transparent)),
		var(--callout-surface);
}

.pump-blog-callout-checklist {
	--callout-accent: #cfbea0;
	--callout-accent-soft: rgba(207, 190, 160, .16);
	--callout-mark: "CHECK";
	background:
		radial-gradient(circle at 12% 0%, var(--callout-accent-soft), transparent 34%),
		linear-gradient(135deg, var(--callout-highlight), transparent 42%, color-mix(in srgb, var(--callout-accent) 9%, transparent)),
		var(--callout-surface);
}

body.tt-dark-mode-on .pump-blog-callout {
	--callout-surface: #101216;
	--callout-line: rgba(255, 255, 255, .12);
	--callout-text: rgba(255, 255, 255, .86);
	--callout-title: #fff;
	--callout-pill-bg: rgba(255, 255, 255, .07);
	--callout-mark-color: rgba(255, 255, 255, .045);
	--callout-highlight: rgba(255, 255, 255, .10);
	box-shadow:
		0 26px 70px rgba(0, 0, 0, .28),
		inset 0 1px 0 rgba(255, 255, 255, .08);
}

body.tt-dark-mode-on .pump-blog-callout-kicker {
	color: rgba(255, 255, 255, .78);
}

.pump-blog-video-showcase {
	margin: clamp(48px, 6.8vw, 96px) min(-34px, -2.4vw);
}

.pump-blog-video-frame {
	position: relative;
	isolation: isolate;
	display: block;
	padding: clamp(12px, 1.4vw, 18px);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 15%, transparent);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .46), transparent 44%),
		color-mix(in srgb, var(--tt-accent-bg-color) 88%, #fff);
	box-shadow:
		0 24px 68px color-mix(in srgb, var(--tt-text-color) 12%, transparent),
		inset 0 1px 0 rgba(255, 255, 255, .36);
	color: var(--tt-text-color);
	overflow: hidden;
	transform: translateZ(0);
}

.pump-blog-video-frame::after {
	content: "VIDEO";
	position: absolute;
	right: clamp(-8px, -.4vw, -3px);
	bottom: clamp(-20px, -1.6vw, -10px);
	z-index: -1;
	color: color-mix(in srgb, var(--tt-text-color) 5%, transparent);
	font-size: clamp(74px, 10vw, 148px);
	font-weight: 900;
	line-height: .75;
	letter-spacing: -.08em;
	pointer-events: none;
}

.pump-blog-video-frame:hover {
	border-color: color-mix(in srgb, #c8b795 45%, var(--tt-text-color) 12%);
	color: var(--tt-text-color);
}

.pump-blog-video-media {
	position: relative;
	display: block;
	width: 100%;
	min-height: 0;
	aspect-ratio: 16 / 9;
	border-radius: 6px;
	overflow: hidden;
	background-color: #111;
}

.pump-blog-video-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .26) 44%, rgba(0, 0, 0, .74)),
		radial-gradient(circle at 50% 50%, transparent 0 19%, rgba(0, 0, 0, .18) 20% 100%);
	pointer-events: none;
}

.pump-blog-video-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.02);
	transition: transform .8s cubic-bezier(.19, 1, .22, 1);
}

.pump-blog-video-frame:hover .pump-blog-video-media img {
	transform: scale(1.07);
}

.pump-blog-video-play {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(58px, 6vw, 86px);
	height: clamp(58px, 6vw, 86px);
	border: 1px solid rgba(255, 255, 255, .66);
	border-radius: 50%;
	background: rgba(255, 255, 255, .18);
	color: #fff;
	backdrop-filter: blur(14px);
	box-shadow: 0 20px 46px rgba(0, 0, 0, .24);
	transform: translate(-50%, -50%);
}

.pump-blog-video-play i {
	margin-left: 4px;
	font-size: clamp(18px, 2vw, 26px);
}

.pump-blog-video-content {
	position: absolute;
	right: clamp(28px, 3.6vw, 54px);
	bottom: clamp(28px, 3.6vw, 54px);
	left: clamp(28px, 3.6vw, 54px);
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 0;
	color: #fff;
}

.pump-blog-video-kicker {
	display: inline-flex;
	align-self: flex-start;
	margin-bottom: clamp(18px, 2.2vw, 26px);
	padding: 8px 12px;
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 999px;
	background: rgba(255, 255, 255, .14);
	color: rgba(255, 255, 255, .86);
	backdrop-filter: blur(12px);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.pump-blog-video-title {
	display: block;
	max-width: 760px;
	font-size: clamp(27px, 3.3vw, 54px);
	font-weight: 800;
	line-height: .98;
	letter-spacing: -.055em;
	text-shadow: 0 3px 24px rgba(0, 0, 0, .44);
}

.pump-blog-video-text {
	display: block;
	max-width: 560px;
	margin-top: clamp(18px, 2vw, 26px);
	color: rgba(255, 255, 255, .82);
	font-size: clamp(15px, 1.08vw, 18px);
	line-height: 1.58;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .42);
}

.pump-blog-video-modal {
	width: min(1180px, calc(100vw - 40px));
	background: #0f0f10;
	border-radius: 8px;
	overflow: hidden;
}

.pump-blog-video-modal video {
	display: block;
	width: 100%;
	max-height: min(78vh, 760px);
	background: #0f0f10;
}

body.tt-dark-mode-on .pump-blog-video-frame {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .09), transparent 44%),
		color-mix(in srgb, var(--tt-bg-color) 88%, #fff 4%);
	border-color: rgba(255, 255, 255, .12);
	box-shadow:
		0 26px 70px rgba(0, 0, 0, .28),
		inset 0 1px 0 rgba(255, 255, 255, .08);
}

body.tt-dark-mode-on .pump-blog-video-kicker {
	background: rgba(255, 255, 255, .07);
	border-color: rgba(255, 255, 255, .14);
	color: rgba(255, 255, 255, .76);
}

body.tt-dark-mode-on .pump-pinned-card {
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--tt-bg-color) 68%, transparent), color-mix(in srgb, #fff 8%, transparent)),
		color-mix(in srgb, var(--tt-bg-color) 72%, transparent);
	border-color: color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	box-shadow:
		0 20px 58px rgba(0, 0, 0, .26),
		inset 0 1px 0 color-mix(in srgb, #fff 16%, transparent);
}

body.tt-dark-mode-on .pump-pinned-head span {
	border-color: color-mix(in srgb, var(--tt-text-color) 42%, transparent);
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--tt-bg-color) 72%, transparent), color-mix(in srgb, #fff 8%, transparent)),
		color-mix(in srgb, var(--tt-bg-color) 76%, transparent);
}

body.tt-dark-mode-on .pump-pinned-grid {
	border-color: color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--tt-bg-color) 62%, transparent), color-mix(in srgb, #fff 6%, transparent)),
		color-mix(in srgb, var(--tt-bg-color) 70%, transparent);
	box-shadow:
		0 24px 72px rgba(0, 0, 0, .22),
		inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent);
}

.pump-blog-post-figure {
	margin: clamp(42px, 6vw, 86px) 0;
}

.pump-blog-post-figure .tt-blog-post-image {
	margin: 0;
	border-radius: clamp(20px, 2.4vw, 34px);
}

.pump-blog-post-figure figcaption {
	position: relative;
	right: auto;
	bottom: auto;
	max-width: 760px;
	margin-top: 14px;
	padding: 0;
	background: transparent;
	backdrop-filter: none;
	color: color-mix(in srgb, var(--tt-text-color) 52%, transparent);
	font-size: 13px;
	line-height: 1.35;
}

.pump-blog-checklist {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 28px 0 clamp(42px, 6vw, 80px);
	padding: 0;
	list-style: none;
}

.pump-blog-checklist li {
	position: relative;
	padding: 16px 18px 16px 46px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 18px;
	background: color-mix(in srgb, var(--tt-bg-color) 72%, transparent);
	font-size: 15px;
	line-height: 1.3;
}

.pump-blog-checklist li::before {
	position: absolute;
	top: 17px;
	left: 18px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--tt-main-color);
	content: "";
	box-shadow: inset 0 0 0 4px color-mix(in srgb, var(--tt-bg-color) 82%, transparent);
}

.pump-blog-callout .pump-blog-checklist {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 0;
}

.pump-blog-callout-checklist .pump-blog-checklist li {
	min-height: 66px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 10%, transparent);
	border-radius: 8px;
	background: color-mix(in srgb, var(--tt-bg-color) 56%, transparent);
	color: var(--callout-text);
}

body.tt-dark-mode-on .pump-blog-callout-checklist .pump-blog-checklist li {
	border-color: rgba(255, 255, 255, .09);
	background: rgba(255, 255, 255, .055);
}

.pump-blog-callout-checklist .pump-blog-checklist li::before {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--callout-accent);
	box-shadow: 0 0 14px color-mix(in srgb, var(--callout-accent) 24%, transparent);
	content: "";
}

.pump-blog-callout-checklist .pump-blog-checklist li::after {
	position: absolute;
	top: 19px;
	left: 23px;
	width: 8px;
	height: 4px;
	border-bottom: 2px solid #101216;
	border-left: 2px solid #101216;
	content: "";
	transform: rotate(-45deg);
}

.pump-blog-final-cta-section {
	margin-top: clamp(46px, 6vw, 88px);
	padding-bottom: 0 !important;
}

@media (max-width: 1100px) {
	.pump-blog-page .pump-page-hero .tt-section-inner {
		display: block;
	}

	.pump-blog-page .pump-page-hero .tt-heading-title {
		font-size: clamp(52px, 12vw, 100px);
		white-space: normal;
	}

	.pump-blog-page .pump-page-hero .pump-page-lead {
		max-width: 920px;
		margin: 28px 0 0;
		justify-self: auto;
	}
}

@media (max-width: 768px) {
	.pump-blog-page .pump-page-hero {
		padding-bottom: 50px !important;
	}

	.pump-blog-page .pump-page-hero .tt-section-inner {
		display: block;
	}

	.pump-blog-page .pump-page-hero .tt-heading {
		margin-bottom: inherit;
	}

	.pump-blog-page .pump-page-hero .pump-page-lead {
		max-width: 920px;
		margin: 28px 0 0;
		font-size: clamp(17px, 1.35vw, 25px);
		line-height: 1.22;
	}

	.pump-pinned-head {
		align-items: flex-start;
		flex-direction: column;
		margin-bottom: -14px;
		padding-left: 18px;
		justify-content: flex-start;
	}

	.pump-pinned-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		padding: 28px 10px 10px;
		border-radius: 22px;
	}

	.pump-pinned-card,
	.pump-pinned-card-main {
		grid-column: auto;
		grid-row: auto;
		min-height: 196px;
		padding: 14px;
		border-radius: 18px;
	}

	.pump-pinned-card-main {
		grid-column: 1 / -1;
		min-height: 240px;
	}

	.pump-pinned-card:nth-child(4) {
		grid-column: 1 / -1;
		min-height: 220px;
	}

	.pump-pinned-card h2,
	.pump-pinned-card:not(.pump-pinned-card-main) h2 {
		font-size: clamp(15px, 4.4vw, 20px);
		line-height: 1.09;
		letter-spacing: .02em;
	}

	.pump-pinned-card:not(.pump-pinned-card-main) h2 {
		font-size: clamp(12px, 3.5vw, 16px);
	}

	.pump-pinned-card:nth-child(2) h2,
	.pump-pinned-card:nth-child(3) h2 {
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		max-width: 100%;
		overflow: hidden;
	}

	.pump-pinned-badge {
		top: 16px;
		left: 16px;
		width: 30px;
		height: 30px;
	}

	.pump-pinned-badge i {
		font-size: 12px;
	}

	.pump-blog-post-header .ph-caption-title {
		font-size: clamp(38px, 11vw, 62px);
	}

	.pump-blog-callout {
		display: block;
		margin-right: 0;
		margin-left: 0;
		padding: 26px 22px 26px 42px;
	}

	.pump-blog-callout::before {
		inset: 16px auto 16px 14px;
		width: 4px;
	}

	.pump-blog-callout::after {
		right: -10px;
		bottom: -8px;
		font-size: clamp(52px, 17vw, 72px);
	}

	.pump-blog-callout-kicker {
		margin-bottom: 18px;
	}

	.pump-blog-callout-kicker::before {
		display: inline-block;
		margin: 0 10px 0 0;
		vertical-align: middle;
	}

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

	.pump-blog-callout .pump-blog-checklist {
		grid-template-columns: 1fr;
	}

	.pump-blog-video-showcase {
		margin-right: 0;
		margin-left: 0;
	}

	.pump-blog-video-frame {
		padding: 10px;
	}

	.pump-blog-video-frame::after {
		font-size: clamp(58px, 19vw, 92px);
	}

	.pump-blog-video-media {
		aspect-ratio: 16 / 10;
	}

	.pump-blog-video-content {
		right: 22px;
		bottom: 22px;
		left: 22px;
	}

	.pump-blog-video-title {
		font-size: clamp(24px, 8vw, 34px);
		letter-spacing: -.045em;
	}

	.pump-blog-video-text {
		font-size: 15px;
	}

	.pump-blog-compact-page #blog-list.bli-compact .bli-inner {
		padding: 18px;
	}

	.pump-blog-compact-page #blog-list.bli-compact .bli-info {
		flex-basis: auto;
		max-width: none;
		padding-top: 18px;
	}

	.pump-blog-compact-page #blog-list.bli-compact .bli-image-wrap {
		flex-basis: auto;
		max-width: none;
	}

	.pump-blog-compact-page #blog-list.bli-compact .bli-image-wrap + .bli-info {
		padding-left: 0;
	}

	.pump-blog-compact-page #blog-list.bli-compact .bli-title {
		font-size: clamp(23px, 6vw, 32px);
		line-height: 1.08;
	}

	.pump-blog-compact-page #blog-list.bli-compact .bli-desc {
		font-size: 15px;
		line-height: 1.42;
	}
}

.pump-legal-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 24px);
}

.pump-legal-grid article,
.pump-legal-content {
	position: relative;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: clamp(18px, 2vw, 30px);
	background:
		linear-gradient(145deg, rgb(255 255 255 / .18), rgb(255 255 255 / .045) 48%, rgb(0 0 0 / .04)),
		color-mix(in srgb, var(--tt-bg-color) 76%, transparent);
	-webkit-backdrop-filter: blur(20px) saturate(118%);
	backdrop-filter: blur(20px) saturate(118%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / .24),
		0 16px 36px rgb(0 0 0 / .09);
}

.pump-legal-grid article {
	min-height: 250px;
	padding: clamp(24px, 2.5vw, 38px);
}

.pump-legal-grid h2,
.pump-legal-content h2 {
	margin: 0 0 16px;
	font-size: clamp(24px, 2vw, 34px);
	line-height: .95;
	letter-spacing: -.06em;
}

.pump-legal-grid p,
.pump-legal-content p {
	margin: 0;
	font-size: clamp(14px, 1vw, 17px);
	line-height: 1.38;
	opacity: .72;
}

.pump-legal-content {
	max-width: 1080px;
	margin-inline: auto;
	padding: clamp(26px, 4vw, 58px);
}

.pump-legal-content h2:not(:first-child) {
	margin-top: 34px;
}

.pump-contact-lead {
	max-width: 760px;
	margin: 26px auto 0;
	font-size: clamp(13px, 1vw, 16px);
	line-height: 1.32;
	opacity: .62;
}

.pump-contact-faq-section {
	padding-top: clamp(18px, 2.2vw, 36px) !important;
}

.pump-contact-faq-heading {
	margin-bottom: clamp(34px, 4.6vw, 66px);
	text-align: center;
}

.pump-contact-faq-heading .tt-heading-title {
	font-size: clamp(44px, 7vw, 112px);
}

.pump-contact-faq-list {
	max-width: 1120px;
	margin-inline: auto;
}

.pump-contact-faq-list .tt-acc-head-title {
	font-size: clamp(20px, 1.8vw, 30px);
	line-height: 1.05;
}

.pump-contact-faq-list .tt-accordion-content p {
	max-width: 880px;
	font-size: clamp(14px, .95vw, 17px);
	line-height: 1.4;
	opacity: .74;
}

.pump-contact-related-section .tt-heading {
	margin-bottom: clamp(28px, 4vw, 54px);
}

.pump-related-links {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 24px);
}

.pump-related-link {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 250px;
	padding: clamp(22px, 2.4vw, 34px);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: clamp(18px, 2vw, 30px);
	background:
		linear-gradient(145deg, rgb(255 255 255 / .18), rgb(255 255 255 / .045) 48%, rgb(0 0 0 / .035)),
		color-mix(in srgb, var(--tt-bg-color) 76%, transparent);
	-webkit-backdrop-filter: blur(20px) saturate(116%);
	backdrop-filter: blur(20px) saturate(116%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / .24),
		0 16px 36px rgb(0 0 0 / .09);
	color: var(--tt-text-color);
	text-decoration: none;
	overflow: hidden;
	transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.pump-related-link::before {
	content: "";
	position: absolute;
	right: -34px;
	top: -34px;
	width: 118px;
	height: 118px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-text-color) 10%, transparent);
	filter: blur(2px);
	opacity: .28;
	transition: transform .35s ease, opacity .35s ease;
}

.pump-related-link::after {
	content: "\f061";
	position: absolute;
	right: 26px;
	bottom: 24px;
	font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 14px;
	opacity: .45;
	transform: rotate(-35deg);
	transition: transform .35s ease, opacity .35s ease;
}

.pump-related-link:hover,
.pump-related-link:focus {
	color: var(--tt-text-color);
	transform: translate3d(0, -5px, 0);
	border-color: color-mix(in srgb, var(--tt-text-color) 26%, transparent);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / .30),
		0 22px 46px rgb(0 0 0 / .14);
}

.pump-related-link:hover::before,
.pump-related-link:focus::before {
	transform: translate3d(-10px, 12px, 0) scale(1.08);
	opacity: .42;
}

.pump-related-link:hover::after,
.pump-related-link:focus::after {
	transform: translate3d(4px, -4px, 0) rotate(-35deg);
	opacity: .86;
}

.pump-related-link span {
	position: relative;
	display: inline-flex;
	align-self: flex-start;
	margin-bottom: 32px;
	padding: 8px 13px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 16%, transparent);
	border-radius: 999px;
	background: rgb(255 255 255 / .055);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .02em;
	z-index: 1;
}

.pump-related-link h3,
.pump-related-link p {
	position: relative;
	z-index: 1;
}

.pump-related-link h3 {
	max-width: 420px;
	margin: 0 0 16px;
	font-size: clamp(24px, 2.1vw, 34px);
	line-height: .95;
	letter-spacing: -.06em;
}

.pump-related-link p {
	max-width: 440px;
	margin: 0 0 28px;
	font-size: clamp(11px, .76vw, 13px);
	line-height: 1.28;
	opacity: .68;
}

.pump-contact-tiles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 18px;
}

.pump-contact-tile {
	--tile-rgb: 48 109 255;
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 104px;
	padding: 16px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 22px;
	background:
		linear-gradient(145deg, rgb(255 255 255 / .24), rgb(255 255 255 / .055) 46%, rgb(0 0 0 / .045)),
		color-mix(in srgb, var(--tt-bg-color) 74%, transparent);
	-webkit-backdrop-filter: blur(22px) saturate(118%);
	backdrop-filter: blur(22px) saturate(118%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / .28),
		inset 0 -18px 38px rgb(0 0 0 / .035),
		0 15px 32px rgb(0 0 0 / .10);
	color: var(--tt-text-color);
	text-align: left;
	text-decoration: none;
	overflow: hidden;
	cursor: pointer;
	transform: translateZ(0);
	transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background-color .28s ease;
}

.pump-contact-tile::before {
	content: "";
	position: absolute;
	inset: 1px;
	border-radius: inherit;
	background: linear-gradient(135deg, rgb(255 255 255 / .22), transparent 38%, rgb(var(--tile-rgb) / .06) 100%);
	opacity: .62;
	pointer-events: none;
}

.pump-contact-tile::after {
	content: "";
	position: absolute;
	top: 12px;
	right: 14px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgb(var(--tile-rgb) / .10);
	filter: blur(10px);
	opacity: .42;
	pointer-events: none;
	transition: transform .35s ease, opacity .35s ease;
}

.pump-contact-tile:hover,
.pump-contact-tile:focus {
	color: var(--tt-text-color);
	transform: translate3d(0, -3px, 0);
	border-color: color-mix(in srgb, var(--tt-text-color) 24%, rgb(var(--tile-rgb) / .20));
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / .34),
		inset 0 -20px 42px rgb(0 0 0 / .04),
		0 19px 38px rgb(0 0 0 / .14);
}

.pump-contact-tile:hover::after,
.pump-contact-tile:focus::after {
	transform: translate3d(-4px, 5px, 0) scale(1.15);
	opacity: .58;
}

.pump-contact-tile-email {
	--tile-rgb: 44 117 255;
}

.pump-contact-tile-whatsapp {
	--tile-rgb: 37 211 102;
}

.pump-contact-tile-telegram {
	--tile-rgb: 36 161 222;
}

.pump-contact-tile-messenger {
	--tile-rgb: 0 132 255;
}

.pump-contact-tile-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 12%, rgb(var(--tile-rgb) / .22));
	border-radius: 15px;
	background:
		linear-gradient(145deg, rgb(255 255 255 / .24), rgb(255 255 255 / .05)),
		rgb(var(--tile-rgb) / .075);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / .26),
		0 8px 18px rgb(0 0 0 / .08);
	color: color-mix(in srgb, rgb(var(--tile-rgb)) 76%, var(--tt-text-color));
	font-size: 20px;
	z-index: 1;
}

.pump-contact-tile-content {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	z-index: 1;
}

.pump-contact-tile-name {
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.04em;
}

.pump-contact-tile-value,
.pump-copy-status {
	margin-top: 6px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.02em;
	opacity: .62;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pump-copy-status {
	color: rgb(var(--tile-rgb));
	opacity: .78;
}

.pump-copy-email-btn.is-copied {
	border-color: color-mix(in srgb, #25d366 34%, var(--tt-text-color) 14%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / .34),
		inset 0 -20px 42px rgb(0 0 0 / .04),
		0 19px 38px rgb(0 0 0 / .14);
}

.pump-copy-email-btn.is-copied .pump-contact-tile-icon {
	color: #1fb45a;
	border-color: color-mix(in srgb, #25d366 34%, var(--tt-text-color) 12%);
	background:
		linear-gradient(145deg, rgb(255 255 255 / .24), rgb(255 255 255 / .05)),
		rgb(37 211 102 / .10);
}

.pump-copy-email-btn.is-copied .pump-copy-status {
	color: #17a55c;
	opacity: 1;
}

.pump-contact-note {
	margin-top: 4px;
}

.pump-contact-note p {
	margin: 0;
	font-size: clamp(11px, .78vw, 13px);
	line-height: 1.22;
	letter-spacing: -.015em;
	opacity: .44;
}

.pump-contact-note p + p {
	margin-top: 8px;
}

.pump-benefits-section {
	margin-top: clamp(24px, 3vw, 52px);
}

.pump-about-hero-section {
	padding-top: clamp(150px, 12vw, 210px) !important;
}

.pump-about-v2-hero {
	overflow: hidden;
}

.pump-about-v2-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
	gap: clamp(34px, 6vw, 110px);
	align-items: end;
}

.pump-about-v2-hero .tt-heading-title,
.pump-about-v2-hero-grid .tt-heading-title,
.pump-about-v2-hero h1,
.pump-about-v2-hero h2 {
	overflow-wrap: anywhere;
	word-break: normal;
}

.pump-about-v2-intro {
	max-width: 760px;
	font-size: clamp(18px, 1.55vw, 28px);
	line-height: 1.16;
	letter-spacing: -.045em;
}

.pump-about-v2-intro p {
	margin: 0;
}

.pump-about-v2-intro p + p {
	margin-top: 24px;
	opacity: .72;
}

.pump-about-v2-cards,
.pump-about-v2-process {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 24px);
	margin-top: clamp(56px, 7vw, 110px);
}

.pump-about-v2-card,
.pump-about-v2-process > div,
.pump-about-v2-proof-card {
	position: relative;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	background:
		linear-gradient(145deg, rgb(255 255 255 / .18), rgb(255 255 255 / .045) 48%, rgb(0 0 0 / .04)),
		color-mix(in srgb, var(--tt-bg-color) 76%, transparent);
	-webkit-backdrop-filter: blur(20px) saturate(118%);
	backdrop-filter: blur(20px) saturate(118%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / .24),
		0 16px 36px rgb(0 0 0 / .09);
	overflow: hidden;
}

.pump-about-v2-card,
.pump-about-v2-process > div {
	min-height: 255px;
	padding: clamp(22px, 2.4vw, 36px);
	border-radius: clamp(18px, 2vw, 30px);
}

.pump-about-v2-card::before,
.pump-about-v2-process > div::before {
	content: "";
	position: absolute;
	top: -32px;
	right: -32px;
	width: 118px;
	height: 118px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-text-color) 10%, transparent);
	opacity: .24;
	pointer-events: none;
}

.pump-about-v2-card span,
.pump-about-v2-process span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-bottom: 34px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}

.pump-about-v2-card h3,
.pump-about-v2-process h3 {
	margin: 0 0 14px;
	font-size: clamp(24px, 2vw, 34px);
	line-height: .95;
	letter-spacing: -.06em;
}

.pump-about-v2-card p,
.pump-about-v2-process p,
.pump-about-v2-small-text {
	margin: 0;
	font-size: clamp(14px, 1vw, 17px);
	line-height: 1.35;
	opacity: .72;
}

.pump-about-v2-accordion .tt-accordion-content p {
	max-width: 980px;
	font-size: clamp(16px, 1.2vw, 21px);
	line-height: 1.35;
	opacity: .76;
}

.pump-about-v2-process {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pump-about-v2-process > div {
	min-height: 290px;
	transition: transform .3s ease, box-shadow .3s ease;
}

.pump-about-v2-process > div:hover {
	transform: translate3d(0, -5px, 0);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / .30),
		0 22px 46px rgb(0 0 0 / .14);
}

.pump-about-v2-proof {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(260px, 390px);
	gap: clamp(14px, 2vw, 24px);
	margin-top: clamp(40px, 5vw, 76px);
	padding: 0 max(20px, calc((100vw - 1320px) / 2)) 18px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.pump-about-v2-proof-card {
	display: block;
	min-height: 520px;
	border-radius: clamp(20px, 2vw, 32px);
	color: var(--tt-text-color);
	text-decoration: none;
	scroll-snap-align: start;
	transform: translateZ(0);
	transition: transform .3s ease, box-shadow .3s ease;
}

.pump-about-v2-proof-card:hover,
.pump-about-v2-proof-card:focus {
	color: var(--tt-text-color);
	transform: translate3d(0, -5px, 0);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / .28),
		0 22px 48px rgb(0 0 0 / .16);
}

.pump-about-v2-proof-card img {
	width: 100%;
	height: 100%;
	min-height: 520px;
	object-fit: cover;
	opacity: .72;
	filter: saturate(.7) contrast(.9);
}

.pump-about-v2-proof-card span {
	position: absolute;
	left: 18px;
	bottom: 18px;
	padding: 9px 13px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 16%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-bg-color) 62%, transparent);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}

.pump-about-legacy-hidden {
	display: none !important;
}

.pump-about-lead p {
	margin-bottom: 24px;
}

.pump-about-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 24px);
	margin-top: clamp(48px, 6vw, 90px);
}

.pump-about-facts div,
.pump-about-principle,
.pump-about-team-card {
	position: relative;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	background:
		linear-gradient(145deg, rgb(255 255 255 / .18), rgb(255 255 255 / .04) 48%, rgb(0 0 0 / .035)),
		color-mix(in srgb, var(--tt-bg-color) 78%, transparent);
	-webkit-backdrop-filter: blur(18px) saturate(120%);
	backdrop-filter: blur(18px) saturate(120%);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / .22),
		0 14px 30px rgb(0 0 0 / .08);
	overflow: hidden;
}

.pump-about-facts div {
	min-height: 170px;
	padding: clamp(22px, 2.5vw, 34px);
	border-radius: clamp(18px, 2vw, 28px);
}

.pump-about-facts strong {
	display: block;
	margin-bottom: 18px;
	font-size: clamp(38px, 5vw, 72px);
	line-height: .82;
	letter-spacing: -.08em;
}

.pump-about-facts span {
	display: block;
	max-width: 320px;
	font-size: clamp(14px, 1vw, 17px);
	line-height: 1.25;
	opacity: .72;
}

.pump-about-principles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 26px);
}

.pump-about-principle {
	min-height: 260px;
	padding: clamp(26px, 3vw, 42px);
	border-radius: clamp(18px, 2.2vw, 32px);
}

.pump-about-principle span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-bottom: 34px;
	border-radius: 50%;
	background-color: var(--tt-text-color);
	color: var(--tt-bg-color);
	font-size: 12px;
	font-weight: 800;
}

.pump-about-principle h3,
.pump-about-team-card h3 {
	margin: 0 0 14px;
	font-size: clamp(24px, 2vw, 32px);
	line-height: 1;
	letter-spacing: -.06em;
}

.pump-about-principle p,
.pump-about-team-card p {
	margin: 0;
	font-size: clamp(15px, 1vw, 18px);
	line-height: 1.4;
	opacity: .72;
}

.pump-about-team-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 24px);
}

.pump-about-team-card {
	min-height: 280px;
	padding: clamp(24px, 2.6vw, 38px);
	border-radius: clamp(18px, 2vw, 30px);
	transition: transform .3s ease, box-shadow .3s ease;
}

.pump-about-team-card:hover {
	transform: translate3d(0, -4px, 0);
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / .26),
		0 18px 38px rgb(0 0 0 / .12);
}

.pump-about-team-card i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	margin-bottom: 34px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 18px;
	background: color-mix(in srgb, var(--tt-bg-color) 70%, transparent);
	color: var(--tt-link-hover-color);
	font-size: 22px;
}

.pump-about-nav-section {
	position: relative;
}

.pump-about-bottom-nav .tt-ps-nav-title {
	font-size: clamp(30px, 3.2vw, 58px);
	line-height: 1.02;
}

.pump-about-bottom-nav .tt-ps-nav-subtitle {
	color: color-mix(in srgb, var(--tt-text-color) 78%, transparent);
}

.pump-about-bottom-nav .tt-ps-nav-category {
	font-weight: 600;
}

.pump-content-tail {
	max-width: 1120px;
	margin: 42px auto 0;
	font-size: clamp(11px, .78vw, 13px);
	line-height: 1.34;
	letter-spacing: -.01em;
	opacity: .46;
	text-align: left;
}

.pump-content-tail p {
	margin: 0;
}

.pump-content-tail p + p {
	margin-top: 14px;
}

.pump-web-content-tail {
	display: grid;
	max-width: 1600px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(36px, 6vw, 110px);
}

.pump-web-content-tail-block {
	min-width: 0;
}

.pump-web-content-tail-block h3 {
	margin: 0 0 16px;
	font-size: clamp(13px, .9vw, 16px);
	line-height: 1.2;
	letter-spacing: 0;
}

.pump-web-content-tail a {
	color: inherit;
	font-weight: 700;
}

@media (max-width: 767px) {
	.pump-web-content-tail {
		grid-template-columns: 1fr;
		gap: 34px;
	}
}

.pump-footer-separator {
	display: inline-block;
	margin-inline: 14px;
	opacity: .52;
}

@media (max-width: 1024px) {
	.pump-benefits-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pump-about-facts,
	.pump-about-principles,
	.pump-about-team-grid,
	.pump-about-v2-hero-grid,
	.pump-about-v2-cards,
	.pump-about-v2-process,
	.pump-legal-grid,
	.pump-related-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.pump-benefits-section {
		margin-top: 60px;
	}

	.pump-contact-lead {
		margin-top: 22px;
		font-size: 14px;
		line-height: 1.32;
	}

	#tt-page-content > .tt-section:first-child {
		padding-top: 90px !important;
	}

	.pump-contact-page-section {
		padding-top: 118px !important;
	}

	.pump-contact-faq-section {
		padding-top: 42px !important;
		padding-bottom: 76px !important;
	}

	.pump-contact-related-section {
		padding-top: 10px !important;
	}

	.pump-about-hero-section {
		padding-top: 118px !important;
	}

	.pump-about-v2-hero {
		padding-top: 118px !important;
	}

	.pump-about-facts,
	.pump-about-principles,
	.pump-about-team-grid,
	.pump-about-v2-hero-grid,
	.pump-about-v2-cards,
	.pump-about-v2-process,
	.pump-legal-grid,
	.pump-related-links {
		grid-template-columns: 1fr;
	}

	.pump-about-facts div,
	.pump-about-principle,
	.pump-about-team-card,
	.pump-about-v2-card,
	.pump-about-v2-process > div,
	.pump-legal-grid article,
	.pump-related-link {
		min-height: auto;
	}

	.pump-page-hero {
		padding-top: 118px !important;
	}

	.pump-page-lead {
		font-size: 15px;
		line-height: 1.32;
	}

	.pump-about-v2-intro {
		font-size: 17px;
		line-height: 1.28;
	}

	.pump-about-v2-proof {
		grid-auto-columns: minmax(235px, 78vw);
		padding-inline: 16px;
	}

	.pump-about-v2-proof-card,
	.pump-about-v2-proof-card img {
		min-height: 420px;
	}

	.pump-contact-faq-heading {
		margin-bottom: 32px;
	}

	.pump-contact-faq-list .tt-acc-head-title {
		font-size: 19px;
	}

	.pump-related-link {
		padding: 22px;
	}

	.pump-contact-tiles {
		gap: 10px;
	}

	.pump-contact-tile {
		min-height: 98px;
		padding: 13px;
		border-radius: 18px;
	}

	.pump-contact-tile-icon {
		width: 38px;
		height: 38px;
		border-radius: 14px;
		font-size: 18px;
	}

	.pump-contact-tile-name {
		font-size: 14px;
	}

	.pump-case-title-desktop {
		display: none;
	}

	.pump-case-title-mobile {
		display: inline;
	}

	.pump-case-title-mark {
		width: .38em !important;
		height: .38em !important;
		max-width: .38em !important;
		max-height: .38em !important;
		margin: 0 .28em !important;
		border: 1px solid color-mix(in srgb, var(--tt-text-color) 28%, transparent);
		background:
			radial-gradient(circle at 50% 50%, var(--tt-text-color) 0 28%, transparent 30%),
			color-mix(in srgb, var(--tt-text-color) 7%, transparent) !important;
		background-image:
			radial-gradient(circle at 50% 50%, var(--tt-text-color) 0 28%, transparent 30%),
			linear-gradient(color-mix(in srgb, var(--tt-text-color) 7%, transparent), color-mix(in srgb, var(--tt-text-color) 7%, transparent)) !important;
		box-shadow: 0 0 0 4px color-mix(in srgb, var(--tt-text-color) 5%, transparent);
		opacity: .8;
		vertical-align: .08em !important;
	}

	.tt-pscr-item-content {
		position: relative;
	}

	.pump-case-mobile-badge {
		position: absolute;
		top: 14px;
		left: 14px;
		z-index: 2;
		display: inline-flex;
		align-items: center;
		max-width: calc(100% - 28px);
		padding: 8px 12px;
		border: 1px solid color-mix(in srgb, var(--tt-text-color) 22%, transparent);
		border-radius: 999px;
		background: color-mix(in srgb, var(--tt-bg-color) 58%, transparent);
		-webkit-backdrop-filter: blur(16px) saturate(145%);
		backdrop-filter: blur(16px) saturate(145%);
		box-shadow: 0 12px 34px color-mix(in srgb, var(--tt-shadow-color) 20%, transparent);
		color: var(--tt-text-color);
		font-size: 11px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: .02em;
		text-transform: uppercase;
	}

	.tt-pscr-item-categories {
		display: grid;
		grid-auto-flow: column;
		grid-template-rows: repeat(2, 22px);
		grid-auto-columns: max-content;
		gap: 5px 6px;
		width: 100%;
		height: 49px;
		margin-right: 0;
		padding-right: 36px;
		overflow-x: auto;
		overflow-y: hidden;
		line-height: 20px;
		white-space: nowrap;
		scrollbar-width: none;
		-ms-overflow-style: none;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-inline: contain;
		touch-action: pan-x;
		-webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 34px), transparent 100%);
		mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 34px), transparent 100%);
	}

	.tt-pscr-item-categories::-webkit-scrollbar {
		display: none;
	}

	.tt-pscr-item-category {
		display: inline-flex;
		align-items: center;
		height: 22px;
		margin: 0;
		padding: 0 7px;
		font-size: 11px;
		line-height: 20px;
	}

	.tt-pscr-item-category ~ .tt-pscr-item-category ~ .tt-pscr-item-category ~ .tt-pscr-item-category ~ .tt-pscr-item-category {
		display: inline-block;
	}

	.pump-benefits-grid {
		grid-template-columns: 1fr;
	}

	.pump-benefit-card {
		min-height: auto;
	}

	.pump-benefit-icon {
		font-size: 70px;
	}
}


/* ------------------------------------------------------------- *
 * Service pages
/* ------------------------------------------------------------- */

.pump-service-hero-media {
	overflow: hidden;
	margin-bottom: clamp(50px, 7vw, 100px);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 34px;
	background: color-mix(in srgb, var(--tt-text-color) 4%, transparent);
}

.pump-service-project-header .ph-caption-description {
	margin: 26px auto 0;
	font-size: clamp(18px, 1.35vw, 26px);
	line-height: 1.28;
	font-weight: 600;
	color: var(--tt-light-color) !important;
	text-shadow: -1px 1px 0 rgba(0, 0, 0, .22);
}

.pump-service-project-header .ph-caption-category {
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	backdrop-filter: blur(18px) saturate(140%);
	color: var(--tt-light-color) !important;
	text-shadow: 2px 2px 0 rgba(0, 0, 0, .36);
	box-shadow: 0 10px 34px rgba(0, 0, 0, .22);
}

.pump-service-project-header .ph-caption-title {
	color: var(--tt-light-color) !important;
	text-shadow: none !important;
}

body .pump-service-project-header .ph-caption-title,
body.tt-dark-mode .pump-service-project-header .ph-caption-title,
body.tt-light-mode .pump-service-project-header .ph-caption-title {
	color: #fff !important;
	text-shadow: none !important;
}

body .pump-service-project-header .ph-caption-description,
body.tt-dark-mode .pump-service-project-header .ph-caption-description,
body.tt-light-mode .pump-service-project-header .ph-caption-description,
body .pump-service-project-header .ph-caption-category,
body.tt-dark-mode .pump-service-project-header .ph-caption-category,
body.tt-light-mode .pump-service-project-header .ph-caption-category {
	color: #fff !important;
}

.pump-service-page:not(.pump-service-header-default) #tt-header:not(.tt-filled) .tt-text-logo,
.pump-service-page:not(.pump-service-header-default) #tt-header:not(.tt-filled) .tt-text-logo-main,
.pump-service-page:not(.pump-service-header-default) #tt-header:not(.tt-filled) .tt-text-logo-sub,
.pump-case-page #tt-header:not(.tt-filled) .tt-text-logo,
.pump-case-page #tt-header:not(.tt-filled) .tt-text-logo-main,
.pump-case-page #tt-header:not(.tt-filled) .tt-text-logo-sub {
	color: #fff !important;
}

.pump-service-page:not(.pump-service-header-default) #tt-header:not(.tt-filled) .tt-text-logo-dot,
.pump-case-page #tt-header:not(.tt-filled) .tt-text-logo-dot {
	background-color: #fff !important;
}

.pump-service-page:not(.pump-service-header-default) #tt-header:not(.tt-filled) .tt-text-logo-arrow path,
.pump-case-page #tt-header:not(.tt-filled) .tt-text-logo-arrow path {
	stroke: #16171a !important;
}

body.tt-m-menu-open.pump-service-page #tt-header:not(.tt-filled) .tt-text-logo,
body.tt-m-menu-open.pump-service-page #tt-header:not(.tt-filled) .tt-text-logo-main,
body.tt-m-menu-open.pump-service-page #tt-header:not(.tt-filled) .tt-text-logo-sub,
body.tt-m-menu-open.pump-case-page #tt-header:not(.tt-filled) .tt-text-logo,
body.tt-m-menu-open.pump-case-page #tt-header:not(.tt-filled) .tt-text-logo-main,
body.tt-m-menu-open.pump-case-page #tt-header:not(.tt-filled) .tt-text-logo-sub {
	color: var(--tt-text-color) !important;
}

body.tt-m-menu-open.pump-service-page #tt-header:not(.tt-filled) .tt-text-logo-dot,
body.tt-m-menu-open.pump-case-page #tt-header:not(.tt-filled) .tt-text-logo-dot {
	background-color: var(--tt-text-color) !important;
}

body.tt-m-menu-open.pump-service-page #tt-header:not(.tt-filled) .tt-text-logo-arrow path,
body.tt-m-menu-open.pump-case-page #tt-header:not(.tt-filled) .tt-text-logo-arrow path {
	stroke: var(--tt-bg-color) !important;
}

.pump-service-page #page-header.pump-service-project-header .ph-caption-description {
	opacity: 0;
	animation: phDescriptionIn .55s cubic-bezier(.16, 1, .3, 1) forwards !important;
	animation-delay: .45s !important;
}

.pump-service-page .pump-service-project-header .ph-caption-category {
	cursor: default;
	pointer-events: none;
}

.pump-service-project-header .tt-sd-arrow svg {
	width: 100%;
	height: 100%;
}

.pump-service-page .pump-service-project-header .tt-sd-inner {
	position: relative;
	z-index: 1;
	overflow: visible;
	animation: pumpServiceScrollPulse 1.15s cubic-bezier(.16, 1, .3, 1) infinite !important;
}

.pump-service-page .pump-service-project-header .tt-sd-arrow {
	position: relative;
	z-index: 1;
	animation: pumpServiceScrollArrow 1.8s cubic-bezier(.16, 1, .3, 1) infinite;
}

@keyframes pumpServiceScrollPulse {
	0% {
		box-shadow:
			0 0 0 0 rgb(255 255 255 / .46),
			0 0 0 0 rgb(255 255 255 / .22),
			0 12px 30px rgb(0 0 0 / .18);
	}
	62% {
		box-shadow:
			0 0 0 12px rgb(255 255 255 / 0),
			0 0 0 24px rgb(255 255 255 / 0),
			0 16px 36px rgb(0 0 0 / .24);
	}
	100% {
		box-shadow:
			0 0 0 12px rgb(255 255 255 / 0),
			0 0 0 24px rgb(255 255 255 / 0),
			0 12px 30px rgb(0 0 0 / .18);
	}
}

@keyframes pumpServiceScrollArrow {
	0%, 100% {
		transform: translateY(0);
	}
	45% {
		transform: translateY(4px);
	}
}

.pump-service-delivery-list li {
	padding-bottom: 24px;
}

.pump-service-delivery-list p {
	margin-top: 8px;
	color: color-mix(in srgb, var(--tt-text-color) 68%, transparent);
	font-size: 16px;
	line-height: 1.35;
}

.pump-service-hero-media img {
	display: block;
	width: 100%;
	height: min(58vw, 680px);
	min-height: 360px;
	object-fit: cover;
}

.pump-service-summary {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(34px, 6vw, 90px);
	align-items: start;
}

.pump-service-summary-text {
	max-width: 760px;
}

.pump-service-summary-text p {
	margin-bottom: 34px;
	font-size: clamp(19px, 1.55vw, 28px);
	line-height: 1.28;
	font-weight: 600;
}

.pump-service-pricing {
	margin-top: 8px;
	width: 100%;
}

.tt-pricing-plan-list {
	position: relative;
}

.tt-pricing-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 640px;
	padding: 28px 28px 30px;
	border: 2px solid #16171a;
	border-radius: 26px;
	background: var(--tt-bg-color);
	box-shadow: 8px 8px 0 #16171a;
	transition: transform .25s ease, box-shadow .25s ease;
}

.tt-pricing-plan.tt-ppl-tilted-1 {
	transform: rotate(-.5deg);
}

.tt-pricing-plan.tt-ppl-tilted-2 {
	transform: rotate(.5deg);
}

.tt-pricing-plan:hover {
	transform: translateY(-6px) rotate(0deg);
}

.tt-pricing-plan[data-ppl-featured] {
	background: #16171a;
	color: #fff;
}

.tt-pricing-plan[data-ppl-featured]::before {
	position: absolute;
	top: -12px;
	right: 18px;
	padding: 7px 16px 8px;
	border-radius: 999px;
	background: #b74411;
	color: #fff;
	content: attr(data-ppl-featured);
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	transform: rotate(-8deg);
}

.tt-ppl-header {
	margin-bottom: 28px;
}

.tt-ppl-name {
	margin-bottom: 12px;
	font-size: clamp(34px, 2.3vw, 48px);
	line-height: .95;
}

.tt-ppl-description {
	max-width: 20ch;
	font-size: 18px;
	line-height: 1.45;
	color: color-mix(in srgb, currentColor 74%, transparent);
}

.tt-ppl-price-wrap {
	margin-bottom: 10px;
}

.tt-ppl-price {
	display: flex;
	align-items: flex-end;
	gap: 2px;
	font-size: clamp(62px, 4vw, 92px);
	font-weight: 800;
	line-height: .88;
	letter-spacing: -.04em;
}

.tt-ppl-currency {
	position: relative;
	top: -6px;
	font-size: .42em;
	font-weight: 700;
}

.tt-ppl-prefix {
	position: relative;
	bottom: 8px;
	margin-right: 6px;
	font-size: .28em;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.tt-ppl-period {
	position: relative;
	bottom: 8px;
	margin-left: 4px;
	font-size: .28em;
	font-weight: 700;
	letter-spacing: 0;
}

.tt-ppl-note {
	margin-bottom: 28px;
	font-size: 14px;
	font-style: italic;
	color: color-mix(in srgb, currentColor 72%, transparent);
}

.tt-ppl-button {
	margin-bottom: 28px;
}

.tt-ppl-button .tt-btn {
	min-height: 56px;
	border-radius: 999px;
	border-width: 2px;
}

.tt-pricing-plan:not([data-ppl-featured]) .tt-ppl-button .tt-btn {
	background: #16171a;
	color: #fff;
	border-color: #16171a;
}

.tt-pricing-plan[data-ppl-featured] .tt-ppl-button .tt-btn {
	background: var(--tt-bg-color);
	color: #16171a;
	border-color: var(--tt-bg-color);
}

.tt-pricing-plan .tt-ppl-button .tt-btn span {
	color: inherit !important;
}

.tt-pricing-plan:not([data-ppl-featured]) .tt-ppl-button .tt-btn:hover,
.tt-pricing-plan:not([data-ppl-featured]) .tt-ppl-button .tt-btn:focus {
	background: #16171a;
	border-color: #16171a;
	color: #fff;
}

.tt-pricing-plan[data-ppl-featured] .tt-ppl-button .tt-btn:hover,
.tt-pricing-plan[data-ppl-featured] .tt-ppl-button .tt-btn:focus {
	background: var(--tt-bg-color);
	border-color: var(--tt-bg-color);
	color: #16171a;
}

.pump-service-page .tt-section .tt-col-lg-8 > .pump-service-pricing {
	max-width: none;
}

.pump-service-page .tt-section .tt-col-lg-8 > .pump-service-pricing .tt-row {
	--bs-gutter-x: 18px;
}

.tt-ppl-features {
	margin-top: auto;
}

.tt-ppl-features-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tt-ppl-feature {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
}

.tt-ppl-feature-icon {
	position: relative;
	top: 2px;
	flex: 0 0 auto;
	color: #15a319;
	font-size: 16px;
}

.tt-ppl-feature-text {
	font-size: 18px;
	line-height: 1.45;
	color: inherit;
}

.tt-pricing-plan .tt-ppl-feature-text {
	text-decoration: none;
}

.pump-home-packages {
	margin-top: 10px;
}

.pump-home-packages .tt-ppl-description {
	max-width: none;
	font-size: 16px;
}

.pump-home-packages .tt-ppl-feature-text {
	font-size: 15px;
	line-height: 1.32;
}

.pump-home-packages .tt-ppl-feature {
	margin-bottom: 9px;
}

.pump-home-packages .tt-ppl-features {
	margin-top: 0;
}

@media (min-width: 1400px) {
	.pump-home-packages .tt-ppl-header {
		height: 190px;
	}

	.pump-home-packages .tt-ppl-note {
		min-height: 48px;
	}
}

.pump-home-packages .tt-pricing-plan:not([data-ppl-featured]) .tt-ppl-button .tt-btn {
	background: #16171a;
	border-color: #16171a;
	color: #fff;
}

.pump-home-packages .tt-pricing-plan:not([data-ppl-featured]) .tt-ppl-button .tt-btn:hover,
.pump-home-packages .tt-pricing-plan:not([data-ppl-featured]) .tt-ppl-button .tt-btn:focus {
	background: transparent;
	border-color: #16171a;
	color: #16171a;
}

.pump-home-packages .tt-pricing-plan[data-ppl-featured] .tt-ppl-button .tt-btn {
	background: var(--tt-bg-color);
	border-color: var(--tt-bg-color);
	color: #16171a;
}

.pump-home-packages .tt-pricing-plan[data-ppl-featured] .tt-ppl-button .tt-btn:hover,
.pump-home-packages .tt-pricing-plan[data-ppl-featured] .tt-ppl-button .tt-btn:focus {
	background: transparent;
	border-color: var(--tt-bg-color);
	color: var(--tt-bg-color);
}

body.tt-dark-mode-on .pump-home-packages .tt-pricing-plan:not([data-ppl-featured]) .tt-ppl-button .tt-btn {
	background: var(--tt-text-color);
	border-color: var(--tt-text-color);
	color: var(--tt-bg-color);
}

body.tt-dark-mode-on .pump-home-packages .tt-pricing-plan:not([data-ppl-featured]) .tt-ppl-button .tt-btn:hover,
body.tt-dark-mode-on .pump-home-packages .tt-pricing-plan:not([data-ppl-featured]) .tt-ppl-button .tt-btn:focus {
	background: transparent;
	border-color: var(--tt-text-color);
	color: var(--tt-text-color);
}

body.tt-dark-mode-on .pump-home-packages .tt-pricing-plan:not([data-ppl-featured]) {
	border: 1px solid rgba(244, 241, 232, .72);
}

body.tt-dark-mode-on .pump-home-packages .tt-pricing-plan[data-ppl-featured] {
	border-color: rgba(244, 241, 232, .9);
	box-shadow: 0 0 0 1px rgba(244, 241, 232, .36), 8px 8px 0 rgba(244, 241, 232, .78);
}

body.tt-dark-mode-on .pump-home-packages .tt-pricing-plan[data-ppl-featured] .tt-ppl-button .tt-btn {
	background: #f4f1e8;
	border-color: #f4f1e8;
	color: #16171a;
}

body.tt-dark-mode-on .pump-home-packages .tt-pricing-plan[data-ppl-featured] .tt-ppl-button .tt-btn:hover,
body.tt-dark-mode-on .pump-home-packages .tt-pricing-plan[data-ppl-featured] .tt-ppl-button .tt-btn:focus {
	background: transparent;
	border-color: #f4f1e8;
	color: #f4f1e8;
}

/* Shared pricing atmosphere: the accent remains concentrated in the middle,
   leaving every section edge visually clean for a seamless transition. */
:is(.tt-section, .pump-ai-pricing, .pump-consulting-pricing, .promo-pricing):has(.tt-pricing-plan-list) {
	position: relative;
	isolation: isolate;
}

:is(.tt-section, .pump-ai-pricing, .pump-consulting-pricing, .promo-pricing):has(.tt-pricing-plan-list)::before {
	content: "";
	position: absolute;
	z-index: 0;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(
		ellipse 38% 50% at 50% 52%,
		color-mix(in srgb, var(--tt-main-color) 15%, transparent) 0%,
		color-mix(in srgb, var(--tt-main-color) 9%, transparent) 42%,
		color-mix(in srgb, var(--tt-main-color) 3%, transparent) 68%,
		transparent 100%
	);
}

:is(.tt-section, .pump-ai-pricing, .pump-consulting-pricing, .promo-pricing):has(.tt-pricing-plan-list) > * {
	position: relative;
	z-index: 1;
}

body.tt-dark-mode-on :is(.tt-section, .pump-ai-pricing, .pump-consulting-pricing, .promo-pricing):has(.tt-pricing-plan-list)::before {
	background: radial-gradient(
		ellipse 38% 50% at 50% 52%,
		color-mix(in srgb, var(--tt-main-color) 22%, transparent) 0%,
		color-mix(in srgb, var(--tt-main-color) 12%, transparent) 42%,
		color-mix(in srgb, var(--tt-main-color) 4%, transparent) 68%,
		transparent 100%
	);
}

/* Match the home-page pricing frame across every page in dark mode. */
body.tt-dark-mode-on .tt-pricing-plan:not([data-ppl-featured]) {
	border: 1px solid rgba(244, 241, 232, .72);
}

body.tt-dark-mode-on .tt-pricing-plan[data-ppl-featured] {
	border-color: rgba(244, 241, 232, .9);
	box-shadow: 0 0 0 1px rgba(244, 241, 232, .36), 8px 8px 0 rgba(244, 241, 232, .78);
}

.pump-home-packages-pagination {
	display: none;
}

@media (max-width: 767px) {
	.pump-home-packages.is-mobile-carousel {
		width: 100%;
		padding: 16px 10px 0 2px;
		overflow: hidden;
	}

	.pump-home-packages.is-mobile-carousel .tt-row.swiper-wrapper {
		align-items: flex-start;
		flex-wrap: nowrap;
		margin-right: 0;
		margin-left: 0;
	}

	.pump-home-packages.is-mobile-carousel [data-home-package-slide] {
		height: auto;
		margin-bottom: 0 !important;
		padding-right: 0;
		padding-left: 0;
	}

	.pump-home-packages.is-mobile-carousel .tt-pricing-plan {
		min-height: 0;
		transform: none;
	}

	.pump-home-packages-pagination {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		padding: 22px 0 5px;
		font-size: 0;
		white-space: nowrap;
		overflow: visible;
		transform: translateX(4px);
	}

	.pump-home-packages-pagination .swiper-pagination-bullet {
		display: inline-block;
		width: 14px;
		height: 14px;
		margin: 8px !important;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: var(--tt-dark-color);
		opacity: 1;
		cursor: pointer;
		transform: scale(.33);
		transition: .2s transform, .2s background-color;
	}

	.pump-home-packages-pagination .swiper-pagination-bullet-active {
		background: var(--tt-main-color);
		transform: scale(1);
	}

	.pump-home-packages-pagination .swiper-pagination-bullet.is-near {
		transform: scale(.66);
	}

	.pump-home-packages-pagination .swiper-pagination-bullet.is-far {
		transform: scale(.33);
	}

	.pump-home-packages-pagination .swiper-pagination-bullet-active {
		transform: scale(1);
	}

	body.tt-dark-mode-on .pump-home-packages-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
		background: var(--tt-light-color);
	}
}

.pump-pricing-note {
	max-width: 980px;
	margin: 18px auto 0;
	font-size: clamp(12px, 1vw, 14px);
	line-height: 1.45;
	text-align: center;
	opacity: .68;
}

.pump-about-hero .page-header-inner {
	width: 100%;
}

.pump-about-hero .page-header-inner.tt-wrap-fluid {
	padding-right: clamp(20px, 4.6vw, 88px);
	padding-left: clamp(20px, 4.6vw, 88px);
}

.pump-about-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, .5fr);
	gap: clamp(32px, 4.8vw, 78px);
	align-items: center;
	width: 100%;
}

.pump-about-hero-copy {
	position: relative;
}

.pump-about-hero .ph-caption-title {
	max-width: 1120px;
	font-size: clamp(54px, 7.15vw, 112px) !important;
	line-height: .96 !important;
}

.pump-about-hero-media {
	max-width: 410px;
	justify-self: end;
}

.pump-about-hero-media .tt-image {
	margin-bottom: 0;
}

.pump-about-hero.pump-invest-hero {
	padding-top: clamp(130px, 12vw, 190px);
	padding-bottom: clamp(72px, 8vw, 130px);
}

.pump-about-hero.pump-invest-hero .pump-invest-hero-grid {
	grid-template-columns: minmax(0, 1.12fr) minmax(330px, .78fr);
}

.pump-about-hero.pump-invest-hero .tt-heading-title {
	max-width: 920px;
	font-size: clamp(42px, 4.6vw, 78px) !important;
	line-height: .96 !important;
	letter-spacing: -.045em !important;
}

.pump-about-hero.pump-invest-hero .pump-page-lead {
	max-width: 820px;
}

.pump-about-hero.pump-invest-hero .pump-invest-tags {
	margin-top: clamp(30px, 4vw, 54px);
}

.pump-about-hero.pump-invest-hero .pump-about-hero-media {
	max-width: none;
	justify-self: stretch;
}

.pump-about-video-preview {
	position: relative;
	display: block;
	color: var(--tt-text-color);
	text-decoration: none;
	overflow: visible;
}

.pump-about-video-preview::before {
	content: "";
	position: absolute;
	inset: 18px -14px -18px 14px;
	z-index: 0;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	border-radius: 28px;
	opacity: .75;
	pointer-events: none;
}

.pump-about-video-preview .tt-split-box-image,
.pump-about-video-preview .tt-split-box-image-inner {
	position: relative;
	z-index: 1;
}

.pump-about-video-preview .tt-split-box-image::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(180deg, rgb(0 0 0 / .04), rgb(0 0 0 / .28));
	border-radius: inherit;
	pointer-events: none;
}

.pump-about-play {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(72px, 7vw, 104px);
	height: clamp(72px, 7vw, 104px);
	border: 1px solid color-mix(in srgb, #fff 42%, transparent);
	border-radius: 50%;
	background: rgb(255 255 255 / .88);
	color: #111;
	box-shadow: 0 22px 60px rgb(0 0 0 / .22);
	transform: translate(-50%, -50%);
	transition: transform .35s ease, background .35s ease, box-shadow .35s ease;
}

.pump-about-play::before,
.pump-about-play::after {
	content: "";
	position: absolute;
	inset: -10px;
	border: 1px solid rgb(255 255 255 / .38);
	border-radius: 50%;
	animation: pumpAboutPlayPulse 1.9s ease-out infinite;
}

.pump-about-play::after {
	animation-delay: .6s;
}

.pump-about-play i {
	margin-left: 4px;
	font-size: clamp(22px, 2.2vw, 32px);
}

.pump-about-video-preview:hover .pump-about-play {
	background: #fff;
	box-shadow: 0 26px 70px rgb(0 0 0 / .28);
	transform: translate(-50%, -50%) scale(1.06);
}

@keyframes pumpAboutPlayPulse {
	0% {
		opacity: .85;
		transform: scale(.72);
	}
	100% {
		opacity: 0;
		transform: scale(1.35);
	}
}

.pump-about-intro-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(14px, 1.4vw, 20px);
	align-items: start;
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
}

.pump-about-intro-head {
	position: static;
}

.pump-about-intro-section .tt-heading {
	max-width: none;
	margin-bottom: 0;
}

.pump-about-intro-section .tt-heading-title {
	max-width: none;
	font-size: clamp(38px, 5.2vw, 78px) !important;
	line-height: 1.02 !important;
	letter-spacing: 0;
}

.pump-about-intro-copy {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(6px, 0.65vw, 10px);
	max-width: none;
	padding-top: 0;
}

.pump-about-intro-copy p {
	margin: 0 !important;
	color: color-mix(in srgb, var(--tt-text-color) 76%, transparent);
	font-size: clamp(17px, 1.15vw, 21px);
	line-height: 1.5;
}

.pump-about-intro-copy p + p {
	margin-top: 0;
}

@media (max-width: 900px) {
	.pump-about-intro-copy {
		grid-template-columns: 1fr;
		gap: clamp(10px, 2.4vw, 16px);
	}
}

.pump-about-pains-section .tt-wrap-fluid {
	padding-right: clamp(20px, 4vw, 80px);
	padding-left: clamp(20px, 4vw, 80px);
}

.pump-pains-shell {
	position: relative;
	padding: clamp(28px, 4.5vw, 74px);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 20%, transparent);
	border-radius: 12px;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-text-color) 96%, transparent), color-mix(in srgb, var(--tt-text-color) 78%, var(--tt-bg-color) 22%));
	color: var(--tt-bg-color);
	box-shadow:
		10px 10px 0 color-mix(in srgb, var(--tt-text-color) 18%, transparent),
		inset 0 1px 0 color-mix(in srgb, var(--tt-bg-color) 22%, transparent);
	overflow: hidden;
	clip-path: polygon(0 0, calc(100% - 42px) 0, 100% 42px, 100% 100%, 42px 100%, 0 calc(100% - 42px));
}

.pump-pains-shell::before,
.pump-pains-shell::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.pump-pains-shell::before {
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--tt-bg-color) 12%, transparent) 1px, transparent 1px),
		linear-gradient(color-mix(in srgb, var(--tt-bg-color) 10%, transparent) 1px, transparent 1px);
	background-size: 34px 34px;
	mask-image: linear-gradient(115deg, #000 0%, transparent 76%);
	opacity: .58;
}

.pump-pains-shell::after {
	background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--tt-bg-color) 22%, transparent) 50%, transparent 100%);
	height: 140px;
	opacity: .55;
	transform: translateY(-150%);
	animation: pumpPainScan 5.2s linear infinite;
}

.pump-pains-head,
.pump-pains-board {
	position: relative;
	z-index: 1;
}

.pump-pains-head {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(280px, .68fr);
	gap: clamp(24px, 5vw, 76px);
	align-items: end;
	margin-bottom: clamp(34px, 5vw, 70px);
}

.pump-pains-head .tt-heading-title {
	max-width: 760px;
	color: var(--tt-bg-color);
	font-size: clamp(34px, 4vw, 62px) !important;
	line-height: .98 !important;
}

.pump-pains-head .tt-heading-subtitle {
	color: color-mix(in srgb, var(--tt-bg-color) 76%, transparent);
}

.pump-pains-head p {
	margin: 0;
	color: color-mix(in srgb, var(--tt-bg-color) 72%, transparent);
	font-size: clamp(17px, 1.15vw, 21px);
	line-height: 1.48;
}

.pump-pains-board {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	border: 1px solid color-mix(in srgb, var(--tt-bg-color) 18%, transparent);
	background: color-mix(in srgb, var(--tt-bg-color) 10%, transparent);
}

.pump-pains-signal {
	grid-column: 1 / -1;
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	height: 58px;
	border-bottom: 1px solid color-mix(in srgb, var(--tt-bg-color) 18%, transparent);
	overflow: hidden;
}

.pump-pains-signal span {
	position: relative;
	border-right: 1px solid color-mix(in srgb, var(--tt-bg-color) 14%, transparent);
}

.pump-pains-signal span:last-child {
	border-right: 0;
}

.pump-pains-signal span::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -18%;
	width: 38%;
	height: 2px;
	background: var(--tt-bg-color);
	box-shadow: 0 0 18px color-mix(in srgb, var(--tt-bg-color) 50%, transparent);
	opacity: .7;
	animation: pumpPainSignal 2.2s ease-in-out infinite;
}

.pump-pains-signal span:nth-child(2)::before {
	animation-delay: .38s;
}

.pump-pains-signal span:nth-child(3)::before {
	animation-delay: .76s;
}

.pump-pain-card {
	position: relative;
	min-height: 330px;
	padding: clamp(22px, 2.6vw, 42px);
	border-right: 1px solid color-mix(in srgb, var(--tt-bg-color) 18%, transparent);
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--tt-bg-color) 12%, transparent), transparent 52%),
		color-mix(in srgb, var(--tt-text-color) 86%, var(--tt-bg-color) 14%);
	overflow: hidden;
	transition: background-color .35s ease, transform .35s ease;
}

.pump-pain-card:last-child {
	border-right: 0;
}

.pump-pain-card::before {
	content: "";
	position: absolute;
	top: 18px;
	right: 18px;
	width: 54px;
	height: 54px;
	border-top: 2px solid color-mix(in srgb, var(--tt-bg-color) 54%, transparent);
	border-right: 2px solid color-mix(in srgb, var(--tt-bg-color) 54%, transparent);
	opacity: .72;
	transition: transform .35s ease, opacity .35s ease;
}

.pump-pain-card::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 5px;
	background: linear-gradient(90deg, transparent, var(--tt-bg-color), transparent);
	opacity: .24;
	transform: translateX(-100%);
	animation: pumpPainRail 3.4s ease-in-out infinite;
}

.pump-pain-card:hover {
	background-color: color-mix(in srgb, var(--tt-bg-color) 8%, transparent);
	transform: translateY(-8px);
}

.pump-pain-card:hover::before {
	opacity: 1;
	transform: translate(-8px, 8px);
}

.pump-pain-card span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 30px;
	margin-bottom: clamp(54px, 6vw, 90px);
	border: 1px solid color-mix(in srgb, var(--tt-bg-color) 34%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-bg-color) 10%, transparent);
	color: var(--tt-bg-color);
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
}

.pump-pain-card h3 {
	max-width: 480px;
	margin: 0 0 16px;
	color: var(--tt-bg-color);
	font-size: clamp(25px, 2vw, 34px);
	line-height: 1.04;
}

.pump-pain-card p {
	max-width: 620px;
	margin: 0;
	color: color-mix(in srgb, var(--tt-bg-color) 70%, transparent);
	font-size: clamp(15px, 1vw, 18px);
	line-height: 1.45;
}

.pump-pain-card-dark {
	background: color-mix(in srgb, var(--tt-bg-color) 12%, var(--tt-text-color) 88%);
}

.pump-pain-card-dark::after {
	animation-delay: .5s;
}

.pump-pain-card:nth-child(4)::after {
	animation-delay: 1s;
}

.pump-pain-card-accent {
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--tt-bg-color) 18%, transparent), transparent 52%),
		color-mix(in srgb, var(--tt-text-color) 72%, var(--tt-bg-color) 28%);
}

@keyframes pumpPainScan {
	0% {
		transform: translateY(-150%);
	}
	100% {
		transform: translateY(420%);
	}
}

@keyframes pumpPainSignal {
	0%, 100% {
		left: -22%;
		opacity: 0;
	}
	18%, 72% {
		opacity: .72;
	}
	82% {
		left: 84%;
		opacity: 0;
	}
}

@keyframes pumpPainRail {
	0%, 42% {
		transform: translateX(-100%);
		opacity: 0;
	}
	56% {
		opacity: .3;
	}
	100% {
		transform: translateX(100%);
		opacity: 0;
	}
}

.pump-pains-shell {
	border-radius: 34px;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-text-color) 8%, transparent), transparent 42%),
		color-mix(in srgb, var(--tt-bg-color) 90%, var(--tt-text-color) 10%);
	color: var(--tt-text-color);
	box-shadow:
		8px 8px 0 color-mix(in srgb, var(--tt-text-color) 14%, transparent),
		inset 0 1px 0 color-mix(in srgb, var(--tt-text-color) 8%, transparent);
	clip-path: none;
}

.pump-pains-shell::before {
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--tt-text-color) 6%, transparent) 1px, transparent 1px),
		linear-gradient(color-mix(in srgb, var(--tt-text-color) 6%, transparent) 1px, transparent 1px);
	background-size: 42px 42px;
	opacity: .42;
}

.pump-pains-shell::after {
	background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--tt-text-color) 12%, transparent) 50%, transparent 100%);
	opacity: .34;
}

.pump-pains-head .tt-heading-title {
	color: var(--tt-text-color);
}

.pump-pains-head .tt-heading-subtitle,
.pump-pains-head p {
	color: color-mix(in srgb, var(--tt-text-color) 68%, transparent);
}

.pump-pains-board {
	border-color: color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 24px;
	background: color-mix(in srgb, var(--tt-bg-color) 62%, var(--tt-text-color) 38%);
	overflow: hidden;
}

.pump-pains-signal {
	height: 50px;
	border-bottom-color: color-mix(in srgb, var(--tt-text-color) 12%, transparent);
	background: color-mix(in srgb, var(--tt-bg-color) 74%, var(--tt-text-color) 26%);
}

.pump-pains-signal span {
	border-right-color: color-mix(in srgb, var(--tt-text-color) 10%, transparent);
}

.pump-pains-signal span::before {
	height: 1px;
	background: var(--tt-text-color);
	box-shadow: 0 0 12px color-mix(in srgb, var(--tt-text-color) 24%, transparent);
	opacity: .42;
}

.pump-pain-card {
	border-right-color: color-mix(in srgb, var(--tt-text-color) 12%, transparent);
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--tt-bg-color) 24%, transparent), transparent 58%),
		color-mix(in srgb, var(--tt-bg-color) 82%, var(--tt-text-color) 18%);
	color: var(--tt-text-color);
}

.pump-pain-card::before {
	width: 44px;
	height: 44px;
	border-top-color: color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	border-right-color: color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	border-radius: 0 16px 0 0;
	opacity: .38;
}

.pump-pain-card::after {
	height: 3px;
	background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--tt-text-color) 34%, transparent), transparent);
	opacity: .18;
}

.pump-pain-card:hover {
	background-color: color-mix(in srgb, var(--tt-text-color) 4%, transparent);
}

.pump-pain-card span {
	border-color: color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	background: color-mix(in srgb, var(--tt-text-color) 8%, transparent);
	color: var(--tt-text-color);
}

.pump-pain-card h3 {
	color: var(--tt-text-color);
}

.pump-pain-card p {
	color: color-mix(in srgb, var(--tt-text-color) 68%, transparent);
}

.pump-pain-card-dark,
.pump-pain-card-accent {
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--tt-text-color) 10%, transparent), transparent 58%),
		color-mix(in srgb, var(--tt-bg-color) 74%, var(--tt-text-color) 26%);
}

.pump-pains-shell {
	border-radius: 32px;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-text-color) 5%, transparent), transparent 42%),
		color-mix(in srgb, var(--tt-bg-color) 94%, var(--tt-text-color) 6%);
	box-shadow:
		8px 8px 0 color-mix(in srgb, var(--tt-text-color) 10%, transparent),
		inset 0 1px 0 color-mix(in srgb, var(--tt-text-color) 8%, transparent);
}

.pump-pains-shell::after {
	height: 190px;
	background: linear-gradient(105deg, transparent 0%, color-mix(in srgb, var(--tt-text-color) 7%, transparent) 48%, transparent 100%);
	opacity: .42;
	animation-duration: 7.5s;
}

.pump-pains-board {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(12px, 1.4vw, 20px);
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

.pump-pains-signal {
	display: none;
}

.pump-pain-card {
	min-height: 255px;
	padding: clamp(22px, 2.5vw, 34px);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 26px;
	background: color-mix(in srgb, var(--tt-bg-color) 84%, var(--tt-text-color) 16%);
	box-shadow: inset 0 1px 0 color-mix(in srgb, var(--tt-text-color) 6%, transparent);
}

.pump-pain-card:nth-child(1) {
	grid-column: span 5;
}

.pump-pain-card:nth-child(2) {
	grid-column: span 7;
}

.pump-pain-card:nth-child(3) {
	grid-column: span 7;
}

.pump-pain-card:nth-child(4) {
	grid-column: span 5;
}

.pump-pain-card::before {
	top: auto;
	right: -42px;
	bottom: -42px;
	width: 150px;
	height: 150px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 50%;
	opacity: .7;
}

.pump-pain-card::after {
	right: auto;
	bottom: auto;
	left: -30%;
	top: 0;
	width: 36%;
	height: 100%;
	background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--tt-text-color) 7%, transparent), transparent);
	opacity: .7;
	transform: skewX(-16deg) translateX(-140%);
	animation: pumpPainTileGlow 6s ease-in-out infinite;
}

.pump-pain-card:nth-child(2)::after {
	animation-delay: 1.2s;
}

.pump-pain-card:nth-child(3)::after {
	animation-delay: 2.4s;
}

.pump-pain-card:nth-child(4)::after {
	animation-delay: 3.6s;
}

.pump-pain-card:hover {
	background: color-mix(in srgb, var(--tt-bg-color) 78%, var(--tt-text-color) 22%);
	transform: translateY(-6px);
	border-color: color-mix(in srgb, var(--tt-text-color) 26%, transparent);
}

.pump-pain-card:hover::before {
	transform: none;
	opacity: .9;
}

.pump-pain-card span {
	width: 42px;
	height: 42px;
	margin-bottom: clamp(34px, 4vw, 62px);
	border: 0;
	border-radius: 50%;
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
}

.pump-pain-card h3 {
	max-width: 480px;
	font-size: clamp(25px, 2.2vw, 38px);
}

.pump-pain-card-dark {
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
}

.pump-pain-card-dark span {
	background: var(--tt-bg-color);
	color: var(--tt-text-color);
}

.pump-pain-card-dark h3 {
	color: var(--tt-bg-color);
}

.pump-pain-card-dark p {
	color: color-mix(in srgb, var(--tt-bg-color) 74%, transparent);
}

.pump-pain-card-accent {
	background: color-mix(in srgb, var(--tt-bg-color) 82%, var(--tt-text-color) 18%);
	box-shadow:
		8px 8px 0 var(--tt-text-color),
		inset 0 1px 0 color-mix(in srgb, var(--tt-text-color) 6%, transparent);
}

@keyframes pumpPainTileGlow {
	0%, 45% {
		transform: skewX(-16deg) translateX(-140%);
		opacity: 0;
	}
	60% {
		opacity: .58;
	}
	100% {
		transform: skewX(-16deg) translateX(430%);
		opacity: 0;
	}
}

@media (max-width: 1024px) {
	.pump-pain-card:nth-child(1),
	.pump-pain-card:nth-child(2),
	.pump-pain-card:nth-child(3),
	.pump-pain-card:nth-child(4) {
		grid-column: 1 / -1;
	}
}

/* Final about pains layout: full-width solid band with varied tiles. */
.pump-about-pains-section {
	position: relative;
	padding-top: clamp(52px, 6vw, 96px);
	padding-bottom: clamp(64px, 7vw, 120px) !important;
	background:
		radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--tt-text-color) 8%, transparent), transparent 26%),
		radial-gradient(circle at 86% 16%, color-mix(in srgb, var(--tt-text-color) 10%, transparent), transparent 28%),
		linear-gradient(180deg, color-mix(in srgb, var(--tt-bg-color) 88%, var(--tt-text-color) 12%), color-mix(in srgb, var(--tt-bg-color) 82%, var(--tt-text-color) 18%));
	background-size: 120% 120%, 130% 130%, 100% 100%;
	animation: pumpPainsSectionFlow 9s ease-in-out infinite alternate;
	overflow: hidden;
}

.pump-about-pains-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--tt-text-color) 4%, transparent) 1px, transparent 1px),
		linear-gradient(color-mix(in srgb, var(--tt-text-color) 4%, transparent) 1px, transparent 1px);
	background-size: 52px 52px;
	opacity: .18;
	pointer-events: none;
}

.pump-about-pains-section .tt-wrap-fluid {
	position: relative;
	z-index: 1;
	padding-right: clamp(20px, 5vw, 96px);
	padding-left: clamp(20px, 5vw, 96px);
}

.pump-pains-shell {
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.pump-pains-shell::before,
.pump-pains-shell::after {
	display: none;
}

.pump-pains-head {
	margin-bottom: clamp(18px, 2.8vw, 38px);
}

.pump-pains-board {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(14px, 1.6vw, 24px);
	overflow: visible;
}

.pump-pain-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: clamp(265px, 21vw, 340px);
	padding: clamp(24px, 2.8vw, 42px);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 16%, transparent);
	border-radius: 28px;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-bg-color) 98%, var(--tt-text-color) 2%), color-mix(in srgb, var(--tt-bg-color) 88%, var(--tt-text-color) 12%));
	color: var(--tt-text-color);
	box-shadow:
		inset 0 1px 0 color-mix(in srgb, var(--tt-text-color) 7%, transparent),
		0 18px 44px rgb(0 0 0 / .08);
	overflow: hidden;
	transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease, background .35s ease;
}

.pump-pain-card > * {
	position: relative;
	z-index: 2;
}

.pump-pain-card:nth-child(1) {
	grid-column: span 4;
}

.pump-pain-card:nth-child(3) {
	grid-column: span 4;
}

.pump-pain-card:nth-child(4) {
	grid-column: span 7;
}

.pump-pain-card:nth-child(5) {
	grid-column: span 5;
}

.pump-pains-board-compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 30px);
}

.pump-pains-board-compact > .pump-pain-card {
	grid-column: auto !important;
	min-height: clamp(300px, 25vw, 390px);
}

.pump-pain-card::before {
	content: "";
	position: absolute;
	right: -54px;
	bottom: -54px;
	width: 165px;
	height: 165px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 13%, transparent);
	border-radius: 50%;
	opacity: .7;
	transition: transform .35s ease, opacity .35s ease;
}

.pump-pain-card::after {
	content: "";
	position: absolute;
	top: -20%;
	left: -34%;
	width: 34%;
	height: 140%;
	background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--tt-text-color) 7%, transparent), transparent);
	opacity: 0;
	transform: skewX(-16deg) translateX(-120%);
	animation: pumpPainTileGlow 7s ease-in-out infinite;
	pointer-events: none;
}

.pump-pain-card .pump-pain-border {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	pointer-events: none;
}

.pump-pain-card .pump-pain-border::before,
.pump-pain-card .pump-pain-border::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	opacity: 0;
	transition: clip-path .45s ease, opacity .28s ease;
}

.pump-pain-card .pump-pain-border::before {
	border: 2px solid color-mix(in srgb, var(--tt-text-color) 58%, transparent);
	clip-path: inset(0 100% 0 0 round 28px);
}

.pump-pain-card .pump-pain-border::after {
	inset: 6px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	clip-path: inset(100% 0 0 0 round 22px);
	transition-delay: .06s;
}

.pump-pain-card:hover .pump-pain-border::before,
.pump-pain-card:hover .pump-pain-border::after {
	opacity: 1;
	clip-path: inset(0 0 0 0 round 28px);
}

.pump-pain-card:nth-child(3)::after {
	animation-delay: 1.1s;
}

.pump-pain-card:nth-child(4)::after {
	animation-delay: 2.2s;
}

.pump-pain-card:nth-child(5)::after {
	animation-delay: 3.3s;
}

.pump-pain-card:hover {
	transform: translateY(-7px);
	border-color: color-mix(in srgb, var(--tt-text-color) 28%, transparent);
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-bg-color) 96%, var(--tt-text-color) 4%), color-mix(in srgb, var(--tt-bg-color) 82%, var(--tt-text-color) 18%));
	box-shadow:
		inset 0 1px 0 color-mix(in srgb, var(--tt-text-color) 8%, transparent),
		0 24px 58px rgb(0 0 0 / .12);
}

.pump-pain-card:hover::before {
	transform: scale(1.08) translate(-8px, 8px);
	opacity: .95;
}

.pump-pain-card span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-bottom: auto;
	border: 0;
	border-radius: 50%;
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
}

.pump-pain-card h3 {
	position: relative;
	z-index: 1;
	max-width: 520px;
	margin: clamp(42px, 5vw, 72px) 0 16px;
	color: var(--tt-text-color);
	font-size: clamp(25px, 2.15vw, 38px);
	line-height: 1.04;
}

.pump-pain-card p {
	position: relative;
	z-index: 1;
	max-width: 660px;
	margin: 0;
	color: color-mix(in srgb, var(--tt-text-color) 68%, transparent);
	font-size: clamp(15px, 1vw, 18px);
	line-height: 1.45;
}

.pump-pain-card-dark {
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-text-color) 94%, var(--tt-bg-color) 6%), color-mix(in srgb, var(--tt-text-color) 82%, var(--tt-bg-color) 18%));
	color: var(--tt-bg-color);
}

.pump-pain-card-dark:hover {
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-text-color) 90%, var(--tt-bg-color) 10%), color-mix(in srgb, var(--tt-text-color) 76%, var(--tt-bg-color) 24%));
}

.pump-pain-card-dark span {
	background: var(--tt-bg-color);
	color: var(--tt-text-color);
}

.pump-pain-card-dark h3 {
	color: var(--tt-bg-color);
}

.pump-pain-card-dark p {
	color: color-mix(in srgb, var(--tt-bg-color) 72%, transparent);
}

.pump-pain-card-dark .pump-pain-border::before {
	border-color: color-mix(in srgb, var(--tt-bg-color) 62%, transparent);
}

.pump-pain-card-dark .pump-pain-border::after {
	border-color: color-mix(in srgb, var(--tt-bg-color) 22%, transparent);
}

.pump-pain-card-accent {
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-bg-color) 92%, var(--tt-text-color) 8%), color-mix(in srgb, var(--tt-bg-color) 76%, var(--tt-text-color) 24%));
	box-shadow:
		8px 8px 0 color-mix(in srgb, var(--tt-text-color) 88%, transparent),
		inset 0 1px 0 color-mix(in srgb, var(--tt-text-color) 7%, transparent);
}

@keyframes pumpPainsSectionFlow {
	0% {
		background-position: 0% 20%, 100% 0%, 0 0;
	}
	100% {
		background-position: 18% 0%, 78% 22%, 0 0;
	}
}

@media (max-width: 1024px) {
	.pump-pains-board {
		grid-template-columns: 1fr !important;
	}

	.pump-pain-card:nth-child(1),
	.pump-pain-card:nth-child(3),
	.pump-pain-card:nth-child(4),
	.pump-pain-card:nth-child(5) {
		grid-column: 1 / -1 !important;
	}
}

.pump-about-process-section {
	padding-top: clamp(70px, 8vw, 140px) !important;
	padding-bottom: clamp(36px, 4vw, 64px) !important;
}

.pump-about-process-section .tt-heading {
	margin-bottom: clamp(18px, 2vw, 28px) !important;
}

.pump-about-process-section .tt-heading-text {
	max-width: 780px;
	margin-top: 18px;
	color: color-mix(in srgb, var(--tt-text-color) 64%, transparent);
}

.pump-about-process {
	position: relative;
	min-height: clamp(430px, 34vw, 480px);
	perspective: 1200px;
	isolation: isolate;
}

.pump-process-card {
	position: absolute;
	top: 50%;
	width: min(34%, 400px);
	min-height: clamp(315px, 27vw, 380px);
	padding: clamp(28px, 3vw, 46px);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 16%, transparent);
	border-radius: 34px;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-bg-color) 98%, #fff 2%), color-mix(in srgb, var(--tt-bg-color) 90%, var(--tt-text-color) 10%)),
		var(--tt-bg-color);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	box-shadow:
		inset 0 1px 0 color-mix(in srgb, var(--tt-text-color) 9%, transparent),
		0 26px 54px rgb(0 0 0 / .16);
	overflow: hidden;
	transform-style: preserve-3d;
	transition: transform .45s ease, border-color .35s ease, box-shadow .35s ease, z-index .35s ease;
}

.pump-process-card-1 {
	left: 0;
	z-index: 2;
	transform: translateY(-58%) rotateY(-7deg) rotateZ(-2deg);
}

.pump-process-card-2 {
	left: 33%;
	z-index: 3;
	width: min(34%, 400px);
	transform: translateY(-50%) translateZ(90px);
}

.pump-process-card-3 {
	right: 0;
	z-index: 2;
	transform: translateY(-42%) rotateY(7deg) rotateZ(2deg);
}

.pump-process-card::before {
	content: "";
	position: absolute;
	right: -54px;
	top: -54px;
	width: 170px;
	height: 170px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-text-color) 8%, transparent);
	filter: none;
	opacity: .22;
	transition: transform .35s ease, opacity .35s ease;
}

.pump-process-card::after {
	content: "";
	position: absolute;
	inset: 14px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 8%, transparent);
	border-radius: 24px;
	pointer-events: none;
}

.pump-process-card-1:hover {
	z-index: 5;
	transform: translateY(-61%) translateX(14px) rotateY(-3deg) rotateZ(-1deg) translateZ(120px);
}

.pump-process-card-2:hover {
	z-index: 5;
	transform: translateY(-53%) translateZ(160px);
}

.pump-process-card-3:hover {
	z-index: 5;
	transform: translateY(-45%) translateX(-14px) rotateY(3deg) rotateZ(1deg) translateZ(120px);
}

.pump-process-card:hover {
	border-color: color-mix(in srgb, var(--tt-text-color) 34%, transparent);
	box-shadow:
		inset 0 1px 0 color-mix(in srgb, var(--tt-text-color) 12%, transparent),
		0 34px 70px rgb(0 0 0 / .2);
}

.pump-process-card:hover::before {
	transform: scale(1.18) translate(-8px, 8px);
	opacity: .34;
}

.pump-process-num {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 42px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	border-radius: 50%;
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
}

.pump-process-orbit {
	position: absolute;
	inset: 10% 6%;
	z-index: 0;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 10%, transparent);
	border-radius: 999px;
	transform: rotate(-5deg);
	pointer-events: none;
}

.pump-process-orbit span {
	position: absolute;
	top: 50%;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--tt-text-color);
	box-shadow: 0 0 0 10px color-mix(in srgb, var(--tt-text-color) 10%, transparent);
	animation: pumpProcessDot 4.8s linear infinite;
}

.pump-process-card h3,
.pump-process-card p {
	position: relative;
	z-index: 1;
}

.pump-process-card h3 {
	max-width: 330px;
	margin: 0 0 18px;
	font-size: clamp(26px, 2.1vw, 38px);
	line-height: 1.02;
}

.pump-process-card p {
	margin: 0;
	color: color-mix(in srgb, var(--tt-text-color) 74%, transparent);
	font-size: clamp(15px, 1.05vw, 18px);
	line-height: 1.45;
}

.pump-process-arrow {
	position: absolute;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	color: var(--tt-text-color);
	transition: top .35s ease, left .35s ease, right .35s ease, transform .35s ease, opacity .35s ease, z-index .35s ease;
}

.pump-process-arrow-1 {
	top: 37%;
	left: 29.2%;
	transform: rotate(18deg);
}

.pump-process-arrow-2 {
	top: 57%;
	right: 30.5%;
	transform: rotate(18deg);
}

.pump-process-arrow::before,
.pump-process-arrow::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 22%, transparent);
	border-radius: 50%;
	animation: pumpProcessPulse 1.75s ease-out infinite;
}

.pump-process-arrow::after {
	animation-delay: .55s;
}

.pump-process-arrow i {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	border-radius: 50%;
	background: color-mix(in srgb, var(--tt-bg-color) 78%, transparent);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	box-shadow: 0 12px 30px rgb(0 0 0 / .1);
	animation: pumpProcessArrowNudge 1.75s ease-in-out infinite;
	transition: transform .35s ease, box-shadow .35s ease;
}

.pump-about-process:has(.pump-process-card-2:hover) .pump-process-arrow {
	z-index: 6;
	opacity: .9;
}

.pump-about-process:has(.pump-process-card-2:hover) .pump-process-arrow-1 {
	left: 27.5%;
	transform: rotate(10deg) translate(-18px, 4px);
}

.pump-about-process:has(.pump-process-card-2:hover) .pump-process-arrow-2 {
	right: 27.5%;
	transform: rotate(26deg) translate(18px, -4px);
}

.pump-about-process:has(.pump-process-card-2:hover) .pump-process-arrow i {
	box-shadow: 0 16px 36px rgb(0 0 0 / .14);
}

@keyframes pumpProcessPulse {
	0% {
		opacity: .65;
		transform: scale(.72);
	}
	100% {
		opacity: 0;
		transform: scale(1.35);
	}
}

@keyframes pumpProcessArrowNudge {
	0%, 100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(5px, -5px);
	}
}

@keyframes pumpProcessDot {
	0% {
		left: 0;
		top: 50%;
		opacity: .15;
	}
	25% {
		left: 34%;
		top: 8%;
		opacity: .65;
	}
	50% {
		left: 58%;
		top: 84%;
		opacity: .4;
	}
	75% {
		left: 86%;
		top: 38%;
		opacity: .8;
	}
	100% {
		left: 100%;
		top: 50%;
		opacity: .15;
	}
}

.pump-about-proof-section .tt-heading-text {
	max-width: 760px;
	margin-top: 18px;
	color: color-mix(in srgb, var(--tt-text-color) 64%, transparent);
}

.pump-about-chat-carousel {
	padding-right: clamp(18px, 5vw, 70px);
	padding-left: clamp(18px, 5vw, 70px);
	padding-bottom: 54px;
	overflow: visible;
}

.pump-about-chat-carousel .swiper {
	overflow: visible;
}

.pump-about-shot-carousel {
	padding-right: clamp(18px, 5vw, 70px);
	padding-left: clamp(18px, 5vw, 70px);
	padding-bottom: 54px;
	overflow: visible;
}

.pump-about-shot-carousel .swiper {
	overflow: visible;
}

.pump-about-shot-carousel .tt-content-carousel-item {
	display: flex;
	justify-content: center;
	height: auto;
}

.pump-feedback-shot {
	position: relative;
	width: min(78vw, 420px);
	aspect-ratio: 9 / 16;
	margin: 0;
	padding: 0;
	border: 2px solid var(--tt-text-color);
	border-radius: 34px;
	background: var(--tt-bg-color);
	box-shadow:
		8px 8px 0 var(--tt-text-color),
		0 24px 54px rgb(0 0 0 / .16);
	overflow: hidden;
}

.pump-feedback-shot::before {
	display: none;
}

.pump-feedback-shot img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 30px;
	object-fit: contain;
	background: color-mix(in srgb, var(--tt-bg-color) 96%, var(--tt-text-color) 4%);
}

.pump-about-chat-carousel .tt-content-carousel-item {
	display: flex;
	justify-content: center;
	height: auto;
}

.pump-chat-shot {
	position: relative;
	display: flex;
	flex-direction: column;
	aspect-ratio: 9 / 16;
	width: min(78vw, 390px);
	padding: 15px;
	border: 2px solid var(--tt-text-color);
	border-radius: 34px;
	background:
		radial-gradient(circle at 18% 14%, color-mix(in srgb, var(--tt-text-color) 9%, transparent), transparent 32%),
		linear-gradient(180deg, color-mix(in srgb, var(--tt-bg-color) 96%, transparent), color-mix(in srgb, var(--tt-text-color) 5%, transparent));
	box-shadow:
		8px 8px 0 var(--tt-text-color),
		inset 0 0 0 7px color-mix(in srgb, var(--tt-text-color) 7%, transparent);
	overflow: hidden;
}

.pump-chat-status {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 13px;
	padding: 2px 8px 0;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0;
	opacity: .72;
}

.pump-chat-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 -2px 12px;
	padding: 11px 14px;
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 16%, transparent);
	border-radius: 18px;
	background: color-mix(in srgb, var(--tt-text-color) 8%, transparent);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0;
}

.pump-chat-top i {
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--tt-text-color);
	box-shadow: -16px 0 0 color-mix(in srgb, var(--tt-text-color) 42%, transparent), -32px 0 0 color-mix(in srgb, var(--tt-text-color) 22%, transparent);
}

.pump-chat-lines {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: flex-end;
	gap: 8px;
	padding-bottom: 8px;
}

.pump-chat-lines p {
	max-width: 84%;
	margin: 0;
	padding: 9px 12px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 16%, transparent);
	border-radius: 18px 18px 18px 5px;
	background: color-mix(in srgb, var(--tt-text-color) 7%, transparent);
	font-size: clamp(12px, .92vw, 13px);
	line-height: 1.32;
}

.pump-chat-lines p.outgoing {
	align-self: flex-end;
	border-radius: 18px 18px 5px 18px;
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
}

.pump-chat-lines p.incoming + p.incoming {
	margin-top: -2px;
}

.pump-about-scroll-lines {
	overflow: hidden;
}

.pump-about-scroll-lines .tt-scrolling-text {
	white-space: nowrap;
}

.pump-about-scroll-lines .tt-scrolling-text + .tt-scrolling-text {
	margin-top: clamp(8px, 1vw, 14px);
}

html.pump-web-hero-booting .pump-web-trail-title,
html.pump-web-hero-booting .pump-web-trail-description,
html.pump-web-hero-booting .pump-web-trail-actions,
html.pump-web-hero-booting .pump-web-trail-tags,
html.pump-web-hero-booting .pump-eshop-live-window,
html.pump-web-hero-booting .pump-consulting-hero-note,
html.pump-web-hero-booting .pump-web-split-visual {
	visibility: hidden;
}

html.pump-service-hero-booting .pump-digital-hero .pump-web-eyebrow,
html.pump-service-hero-booting .pump-digital-hero .pump-web-trail-title,
html.pump-service-hero-booting .pump-digital-hero .pump-web-trail-description,
html.pump-service-hero-booting .pump-digital-hero .pump-web-trail-actions,
html.pump-service-hero-booting .pump-digital-hero .pump-web-trail-tags,
html.pump-service-hero-booting .pump-digital-hero .pump-digital-trust,
html.pump-service-hero-booting .pump-digital-hero .pump-web-digital-node > span,
html.pump-service-hero-booting .pump-ai-hero .pump-ai-hero-copy > h1,
html.pump-service-hero-booting .pump-ai-hero .pump-ai-hero-copy > p,
html.pump-service-hero-booting .pump-ai-hero .pump-ai-actions,
html.pump-service-hero-booting .pump-ai-hero .pump-ai-tags,
html.pump-service-hero-booting .pump-ai-hero .pump-ai-workflow {
	visibility: hidden;
}

.pump-about-advantage-links {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pump-about-advantage-links .pump-related-link {
	min-height: 285px;
}

.pump-about-faq-section {
	position: relative;
	overflow: hidden;
}

.pump-about-faq-section::before {
	content: "";
	position: absolute;
	top: 0;
	right: clamp(20px, 6vw, 110px);
	width: min(34vw, 420px);
	height: 1px;
	background: color-mix(in srgb, var(--tt-text-color) 22%, transparent);
}

.pump-about-faq-section .tt-heading-title {
	font-size: clamp(42px, 5vw, 78px) !important;
	line-height: .96 !important;
}

.pump-about-faq-lead {
	max-width: 430px;
	margin: 0;
	color: color-mix(in srgb, var(--tt-text-color) 66%, transparent);
	font-size: clamp(15px, 1vw, 18px);
	line-height: 1.42;
}

.pump-about-faq-accordion .tt-accordion-item {
	margin-bottom: 12px;
	border-radius: 18px;
}

.pump-about-faq-accordion .tt-accordion-heading {
	min-height: 82px;
}

.pump-about-faq-accordion .tt-acc-head-title {
	font-size: clamp(20px, 1.7vw, 28px);
	line-height: 1.05;
}

.pump-about-faq-accordion .tt-accordion-content {
	padding-top: 0;
}

.pump-about-faq-accordion .tt-accordion-content p {
	max-width: 900px;
	font-size: clamp(13px, .9vw, 16px);
	line-height: 1.42;
	opacity: .72;
}

.pump-about-portfolio-copy p {
	color: color-mix(in srgb, var(--tt-text-color) 68%, transparent);
}

.pump-about-portfolio-section .tt-portfolio-cards {
	margin-left: auto;
}

.pump-about-portfolio-section .tt-heading-title {
	font-size: clamp(46px, 5.6vw, 88px) !important;
	line-height: .95 !important;
}

@media (min-width: 1200px) {
	.pump-about-portfolio-section .tt-row {
		display: grid;
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		column-gap: clamp(72px, 6vw, 112px);
		align-items: center;
	}

	.pump-about-portfolio-section .tt-row > [class*="tt-col-"] {
		width: 100%;
		max-width: none;
		margin-bottom: 0 !important;
	}

	.pump-about-portfolio-section .tt-heading-title {
		font-size: clamp(48px, 4.7vw, 72px) !important;
	}

	.pump-about-portfolio-section .tt-portfolio-cards {
		margin-right: 8%;
		margin-left: 8%;
	}
}

.pump-about-portfolio-cards .tt-pcard-image {
	height: calc(100% - 112px);
}

.pump-about-portfolio-cards .tt-pcard-title {
	padding-right: 42px;
	font-size: clamp(19px, 1.65vw, 24px);
}

.pump-about-portfolio-cards .tt-pcard-categories {
	height: 62px;
}

.pump-about-portfolio-cards .tt-pcard-category {
	margin-right: 4px;
	padding-inline: 8px;
	font-size: clamp(10px, .85vw, 12px);
}

.pump-about-portfolio-cards .tt-portf-card:first-child .tt-pcard-image::after {
	content: "Featured";
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 6px 12px;
	border: 1px solid rgb(255 255 255 / .32);
	border-radius: 999px;
	background: rgb(0 0 0 / .34);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	color: #fff;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

@media (max-width: 1024px) {
	.pump-about-hero.pump-invest-hero .pump-invest-hero-grid {
		grid-template-columns: 1fr;
		gap: clamp(28px, 8vw, 54px);
		padding-top: 0;
		padding-bottom: 0;
	}

	.pump-about-hero.pump-invest-hero .pump-about-hero-media {
		margin-top: 6px;
	}

	.pump-about-hero.pump-invest-hero .pump-page-lead {
		max-width: 760px;
	}

	.pump-about-hero-grid {
		grid-template-columns: 1fr;
		padding-top: 110px;
		padding-bottom: 70px;
	}

	.pump-about-hero-media {
		max-width: 360px;
		justify-self: start;
	}

	.pump-about-intro-layout {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.pump-about-intro-head {
		position: relative;
		top: auto;
	}

	.pump-about-intro-copy {
		max-width: 100%;
		padding-top: 0;
	}

	.pump-pains-head,
	.pump-pains-board {
		grid-template-columns: 1fr;
	}

	.pump-pains-board {
		border-bottom: 0;
	}

	.pump-pains-signal {
		height: 46px;
	}

	.pump-pain-card {
		border-right: 0;
		border-bottom: 1px solid color-mix(in srgb, var(--tt-bg-color) 18%, transparent);
	}

	.pump-about-process {
		display: grid;
		grid-template-columns: 1fr;
		min-height: auto;
		perspective: none;
		gap: 0;
	}

	.pump-process-card {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		width: 100%;
		min-height: 250px;
		margin-top: -28px;
		transform: none;
	}

	.pump-process-card:first-of-type {
		margin-top: 0;
	}

	.pump-process-card-1,
	.pump-process-card-2,
	.pump-process-card-3,
	.pump-process-card-1:hover,
	.pump-process-card-2:hover,
	.pump-process-card-3:hover {
		transform: none;
	}

	.pump-process-arrow {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		z-index: 6;
		width: 100%;
		height: 70px;
		margin: -20px 0 -8px;
		transform: none;
	}

	.pump-process-arrow i {
		transform: rotate(90deg);
		animation-name: pumpProcessArrowNudgeMobile;
	}

	.pump-process-orbit {
		inset: 5% 10%;
		border-radius: 42px;
		transform: none;
	}
}

@keyframes pumpProcessArrowNudgeMobile {
	0%, 100% {
		transform: rotate(90deg) translate(0, 0);
	}
	50% {
		transform: rotate(90deg) translate(5px, -5px);
	}
}

@media (max-width: 540px) {
	#tt-page-content > .tt-section.pump-about-hero.pump-invest-hero:first-child {
		padding-top: clamp(150px, 34vw, 185px) !important;
		padding-bottom: 74px;
	}

	.pump-about-hero.pump-invest-hero .tt-section-inner {
		padding-right: 20px;
		padding-left: 20px;
	}

	.pump-about-hero.pump-invest-hero .pump-invest-hero-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
		padding-top: 0;
		padding-bottom: 0;
	}

	.pump-about-hero.pump-invest-hero .tt-heading-title {
		max-width: 100%;
		font-size: clamp(34px, 10.8vw, 48px) !important;
		line-height: 1.02 !important;
		letter-spacing: -.025em !important;
	}

	.pump-about-hero.pump-invest-hero .pump-page-lead {
		max-width: 100%;
		font-size: 16px;
		line-height: 1.45;
	}

	.pump-about-hero.pump-invest-hero .pump-invest-hero-actions {
		margin-top: 26px;
	}

	.pump-about-hero.pump-invest-hero .pump-invest-tags {
		margin-top: 26px;
		margin-bottom: 0;
	}

	.pump-about-hero.pump-invest-hero .pump-invest-hero-media .tt-split-box-image {
		min-height: clamp(300px, 82vw, 420px);
	}

	.pump-about-video-preview::before {
		inset: 12px -8px -12px 8px;
	}

	.pump-about-play {
		width: 72px;
		height: 72px;
	}

	.pump-about-intro-section .tt-heading-title {
		font-size: clamp(30px, 8.2vw, 38px) !important;
		line-height: 1.02 !important;
	}

	.pump-about-intro-copy p {
		font-size: 17px;
	}

	.pump-pains-shell {
		padding: 22px;
		border-radius: 26px;
		box-shadow: none;
		clip-path: none;
	}

	.pump-about-pains-section {
		background:
			linear-gradient(180deg, color-mix(in srgb, var(--tt-bg-color) 88%, var(--tt-text-color) 12%), color-mix(in srgb, var(--tt-bg-color) 82%, var(--tt-text-color) 18%));
	}

	.pump-about-pains-section::before {
		display: none;
	}

	.pump-pain-card,
	.pump-pain-card-accent {
		box-shadow: none;
	}

	.pump-pain-card {
		min-height: 245px;
		padding: 22px;
	}

	.pump-pain-card span {
		margin-bottom: 42px;
	}

	.pump-about-faq-section .tt-row {
		gap: 28px;
	}

	.pump-about-hero .page-header-inner.tt-wrap-fluid {
		padding-right: 20px;
		padding-left: 20px;
	}

	.pump-about-hero .ph-caption-title {
		font-size: clamp(42px, 13vw, 60px) !important;
	}

	.pump-chat-shot {
		width: 82vw;
		border-radius: 30px;
	}

	.pump-feedback-shot {
		width: 82vw;
		border-radius: 30px;
	}

	.pump-chat-lines p {
		max-width: 92%;
	}

	.pump-about-advantage-links {
		grid-template-columns: 1fr;
	}

	.pump-about-portfolio-section {
		padding-bottom: 150px !important;
	}

	.pump-about-portfolio-section .tt-col-xl-6:last-child {
		display: flex;
		justify-content: center;
		min-width: 0;
	}

	.pump-about-portfolio-section .pump-about-portfolio-cards {
		width: min(64vw, 260px);
		padding-bottom: 98%;
		margin: 54px auto 0;
	}

	.pump-about-portfolio-cards .tt-pcard-title {
		padding-right: 36px;
		font-size: 12.5px;
	}

	.pump-about-portfolio-cards .tt-pcard-categories {
		height: 52px;
	}

	.pump-about-portfolio-cards .tt-pcard-category {
		height: 21px;
		margin-right: 3px;
		padding-inline: 6px;
		font-size: 9px;
	}

	.pump-about-portfolio-cards .tt-portf-card:first-child .tt-pcard-image::after {
		display: none;
	}
}

.pump-case-header .ph-caption-title,
.pump-case-header .ph-caption-description,
.pump-case-header .ph-caption-category {
	color: #fff;
}

.pump-case-header .ph-caption-title {
	max-width: 1120px;
	margin-right: auto;
	margin-left: auto;
	font-size: clamp(34px, 5vw, 72px) !important;
	line-height: .96;
}

#page-header.pump-evomat-case-header .page-header-inner {
	padding-top: clamp(52px, 7vh, 80px);
}

#page-header.pump-evomat-case-header .ph-caption-title {
	max-width: 980px;
	font-size: clamp(30px, 3.75vw, 56px) !important;
	line-height: 1;
}

.pump-case-header .ph-caption-description {
	max-width: 1040px;
	margin-right: auto;
	margin-left: auto;
	text-shadow: 2px 2px 0 rgba(0, 0, 0, .55);
}

.pump-case-page #page-header.pump-case-header .ph-caption-description {
	animation-duration: .5s !important;
	animation-delay: .45s !important;
}

.pump-case-header .pump-case-hero-tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.pump-case-header .pump-case-hero-tags .ph-caption-category,
.pump-case-header .pump-case-hero-tags .ph-caption-category ~ .ph-caption-category ~ .ph-caption-category ~ .ph-caption-category {
	visibility: visible;
	display: inline-flex;
	width: auto;
}

.pump-case-header .pump-case-hero-tags .ph-caption-category + .ph-caption-category + .ph-caption-category + .ph-caption-category::before {
	display: none;
}

.pump-case-header .pump-case-hero-tags .ph-caption-category {
	align-items: center;
	min-height: 24px;
	padding: 4px 11px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 999px;
	background: rgba(255, 255, 255, .13);
	font-size: clamp(10px, .7vw, 12px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: .01em;
	text-shadow: none;
	box-shadow: none;
	-webkit-backdrop-filter: blur(12px) saturate(130%);
	backdrop-filter: blur(12px) saturate(130%);
}

.pump-case-kpi-grid,
.pump-case-feature-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

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

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

.pump-case-kpi,
.pump-case-feature {
	position: relative;
	min-height: 260px;
	padding: clamp(24px, 3vw, 36px);
	border: 2px solid var(--tt-text-color);
	border-radius: 26px;
	background: color-mix(in srgb, var(--tt-bg-color) 92%, transparent);
	box-shadow: 7px 7px 0 var(--tt-text-color);
	overflow: hidden;
}

.pump-case-kpi span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-bottom: 36px;
	border-radius: 999px;
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
	font-size: 13px;
	font-weight: 800;
}

.pump-case-kpi h3,
.pump-case-feature h3 {
	margin-bottom: 16px;
	font-size: clamp(26px, 2.2vw, 38px);
	line-height: 1;
}

.pump-case-kpi p,
.pump-case-feature p {
	margin: 0;
	color: color-mix(in srgb, var(--tt-text-color) 70%, transparent);
}

.pump-case-feature i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin-bottom: 34px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 34%, transparent);
	border-radius: 18px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--tt-bg-color) 88%, #fff 12%), color-mix(in srgb, var(--tt-text-color) 8%, transparent));
	font-size: 28px;
}

.pump-case-problem-grid .pump-case-feature {
	min-height: 230px;
	padding: clamp(22px, 2.2vw, 30px);
}

.pump-case-problem-grid .pump-case-feature h3 {
	font-size: clamp(22px, 1.7vw, 30px);
}

.pump-case-problem-grid .pump-case-feature i {
	margin-bottom: 24px;
}

.pump-case-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.pump-case-tags span {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 7px 14px;
	border: 1px solid var(--tt-text-color);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

.pump-case-lead {
	max-width: 980px;
	font-size: clamp(18px, 1.4vw, 25px);
	line-height: 1.36;
	color: color-mix(in srgb, var(--tt-text-color) 76%, transparent);
}

.pump-case-mockup {
	position: relative;
	min-height: clamp(380px, 46vw, 620px);
	padding: clamp(22px, 3vw, 46px);
	border: 2px solid var(--tt-text-color);
	border-radius: 30px;
	background:
		linear-gradient(color-mix(in srgb, var(--tt-text-color) 6%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, var(--tt-text-color) 6%, transparent) 1px, transparent 1px),
		color-mix(in srgb, var(--tt-bg-color) 92%, transparent);
	background-size: 34px 34px;
	box-shadow: 9px 9px 0 var(--tt-text-color);
	overflow: hidden;
}

.pump-case-laptop {
	position: absolute;
	left: clamp(18px, 4vw, 70px);
	right: clamp(80px, 13vw, 210px);
	top: clamp(42px, 6vw, 86px);
	padding: clamp(14px, 1.7vw, 24px);
	border: 2px solid var(--tt-text-color);
	border-radius: 24px;
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
	box-shadow: 0 32px 90px color-mix(in srgb, var(--tt-text-color) 18%, transparent);
}

.pump-case-laptop-screen {
	min-height: clamp(230px, 27vw, 360px);
	padding: clamp(18px, 2.2vw, 32px);
	border-radius: 16px;
	background: var(--tt-bg-color);
	color: var(--tt-text-color);
}

.pump-case-browser-bar {
	display: flex;
	gap: 7px;
	margin-bottom: 22px;
}

.pump-case-browser-bar span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--tt-text-color);
	opacity: .44;
}

.pump-case-shop-grid {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: clamp(16px, 2vw, 28px);
	align-items: stretch;
}

.pump-case-shop-hero,
.pump-case-shop-panel,
.pump-case-mobile {
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	background: color-mix(in srgb, var(--tt-text-color) 5%, transparent);
}

.pump-case-shop-hero {
	min-height: 210px;
	padding: clamp(18px, 2vw, 30px);
	border-radius: 20px;
}

.pump-case-shop-hero strong {
	display: block;
	max-width: 520px;
	margin-bottom: 20px;
	font-size: clamp(28px, 3.4vw, 58px);
	line-height: .92;
}

.pump-case-shop-hero em {
	display: inline-flex;
	padding: 8px 12px;
	border-radius: 999px;
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
	font-size: 12px;
	font-style: normal;
	font-weight: 900;
	text-transform: uppercase;
}

.pump-case-shop-panel {
	display: grid;
	gap: 10px;
	padding: 18px;
	border-radius: 20px;
}

.pump-case-shop-panel span {
	display: block;
	height: 34px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-text-color) 12%, transparent);
}

.pump-case-mobile {
	position: absolute;
	right: clamp(22px, 5vw, 82px);
	bottom: clamp(24px, 5vw, 72px);
	width: min(30%, 230px);
	min-width: 154px;
	padding: 14px;
	border: 2px solid var(--tt-text-color);
	border-radius: 28px;
	background: var(--tt-bg-color);
	box-shadow: 0 26px 70px color-mix(in srgb, var(--tt-text-color) 20%, transparent);
}

.pump-case-mobile-screen {
	display: grid;
	gap: 10px;
	min-height: 250px;
	padding: 18px 14px;
	border-radius: 20px;
	background: color-mix(in srgb, var(--tt-text-color) 6%, transparent);
}

.pump-case-mobile-screen span {
	display: block;
	height: 28px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-text-color) 16%, transparent);
}

.pump-case-mobile-screen span:first-child {
	height: 86px;
	border-radius: 18px;
	background: var(--tt-text-color);
}

.pump-case-process {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
}

.pump-case-step,
.pump-case-flow-item,
.pump-case-country,
.pump-case-testimonial,
.pump-case-final-cta {
	border: 2px solid var(--tt-text-color);
	background: color-mix(in srgb, var(--tt-bg-color) 92%, transparent);
	box-shadow: 6px 6px 0 var(--tt-text-color);
}

.pump-case-step {
	min-height: 240px;
	padding: 22px;
	border-radius: 22px;
}

.pump-case-step span {
	display: block;
	margin-bottom: 24px;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .58;
}

.pump-case-step h3 {
	margin-bottom: 14px;
	font-size: clamp(20px, 1.5vw, 28px);
	line-height: 1.02;
}

.pump-case-step p {
	margin: 0;
	font-size: 14px;
	line-height: 1.42;
	color: color-mix(in srgb, var(--tt-text-color) 70%, transparent);
}

.pump-case-flow {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 12px;
}

.pump-case-flow-item {
	position: relative;
	min-height: 150px;
	padding: 20px 16px;
	border-radius: 18px;
}

.pump-case-flow-item i {
	display: block;
	margin-bottom: 18px;
	font-size: 24px;
}

.pump-case-flow-item strong {
	display: block;
	font-size: 15px;
	line-height: 1.12;
}

.pump-case-country-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.pump-case-country {
	min-height: 130px;
	padding: 24px;
	border-radius: 20px;
}

.pump-case-country span {
	display: block;
	margin-bottom: 28px;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .12em;
	opacity: .55;
}

.pump-case-country strong {
	display: block;
	font-size: clamp(22px, 2vw, 34px);
	line-height: .98;
}

.pump-case-testimonial {
	padding: clamp(30px, 4vw, 58px);
	border-radius: 28px;
}

.pump-case-testimonial blockquote {
	margin: 0;
	font-size: clamp(26px, 3vw, 52px);
	line-height: .98;
	letter-spacing: -.045em;
}

.pump-case-testimonial figcaption {
	margin-top: 28px;
	color: color-mix(in srgb, var(--tt-text-color) 68%, transparent);
}

.pump-case-final-cta {
	padding: clamp(34px, 5vw, 78px);
	border-radius: 30px;
	text-align: center;
}

.pump-case-final-cta h2 {
	max-width: 980px;
	margin: 0 auto 24px;
	font-size: clamp(34px, 5.2vw, 82px);
	line-height: .92;
}

.pump-case-final-cta p {
	max-width: 780px;
	margin: 0 auto 34px;
	color: color-mix(in srgb, var(--tt-text-color) 72%, transparent);
}

.pump-jobs-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 28px);
}

.pump-jobs-openings {
	margin-top: -30px;
}

.pump-job-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: clamp(24px, 2.7vw, 34px);
	border: 2px solid #16171a;
	border-radius: 26px;
	background: var(--tt-bg-color);
	box-shadow: 7px 7px 0 #16171a;
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}

.pump-job-card:nth-child(2) {
	transform: rotate(.4deg);
}

.pump-job-card:nth-child(odd) {
	transform: rotate(-.35deg);
}

.pump-job-card:hover {
	transform: translateY(-6px) rotate(0deg);
	box-shadow: 10px 10px 0 #16171a;
}

.pump-job-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-bottom: 20px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 24%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-text-color) 8%, transparent);
	font-size: 24px;
	line-height: 1;
}

.pump-job-card h3 {
	margin-bottom: 16px;
	font-size: clamp(26px, 1.8vw, 32px);
	line-height: 1;
}

.pump-job-card p {
	margin-bottom: 18px;
	font-size: clamp(14px, 1.05vw, 16px);
	line-height: 1.45;
	color: color-mix(in srgb, var(--tt-text-color) 74%, transparent);
}

.pump-job-card ul {
	margin: 0 0 20px;
	padding-left: 18px;
	font-size: clamp(13px, 1vw, 15px);
	line-height: 1.45;
}

.pump-job-card li {
	margin-bottom: 8px;
}

.pump-job-format {
	margin-top: auto;
	margin-bottom: 18px;
	font-size: clamp(12px, .95vw, 14px);
	font-weight: 800;
	color: color-mix(in srgb, var(--tt-text-color) 78%, transparent);
}

.pump-job-link {
	align-self: flex-start;
	min-height: 44px;
	border-radius: 999px;
	font-size: 14px;
}

body.tt-dark-mode-on .pump-job-card {
	border-color: var(--tt-text-color);
	box-shadow: 7px 7px 0 var(--tt-text-color);
}

body.tt-dark-mode-on .pump-job-card:hover {
	box-shadow: 10px 10px 0 var(--tt-text-color);
}

.pump-jobs-note {
	padding: clamp(30px, 4vw, 54px);
	border: 2px solid var(--tt-text-color);
	border-radius: 28px;
	background: color-mix(in srgb, var(--tt-bg-color) 92%, transparent);
	box-shadow: 8px 8px 0 var(--tt-text-color);
}

.pump-jobs-note h2 {
	margin-bottom: 18px;
	font-size: clamp(34px, 4vw, 66px);
	line-height: .95;
}

.pump-jobs-note p {
	max-width: 920px;
	margin-bottom: 28px;
	color: color-mix(in srgb, var(--tt-text-color) 74%, transparent);
}

@media (max-width: 1199px) {
	.pump-jobs-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.pump-jobs-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 1199px) {
	.pump-case-kpi-grid,
	.pump-case-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

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

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

@media (max-width: 767px) {
	.pump-case-kpi-grid,
	.pump-case-feature-grid {
		grid-template-columns: 1fr;
	}

	.pump-case-process,
	.pump-case-flow,
	.pump-case-country-grid {
		grid-template-columns: 1fr;
	}

	.pump-case-kpi,
	.pump-case-feature,
	.pump-case-step,
	.pump-case-flow-item {
		min-height: auto;
	}

	.pump-case-mockup {
		min-height: auto;
		padding-bottom: 26px;
	}

	.pump-case-laptop,
	.pump-case-mobile {
		position: relative;
		inset: auto;
		width: 100%;
		min-width: 0;
	}

	.pump-case-laptop {
		margin-bottom: 18px;
	}

	.pump-case-shop-grid {
		grid-template-columns: 1fr;
	}

	.pump-case-mobile-screen {
		min-height: 190px;
	}
}

.pump-service-note,
.pump-service-note,
.pump-service-cta p {
	color: color-mix(in srgb, var(--tt-text-color) 72%, transparent);
}

.pump-service-note {
	max-width: 760px;
	margin-top: 26px;
	font-size: 14px;
	line-height: 1.35;
}

.pump-service-benefits {
	margin-top: 18px;
}

.pump-service-gallery {
	margin-top: 40px;
	padding-left: 3vw;
	padding-right: 3vw;
}

.pump-service-gallery .swiper-slide {
	width: min(72vw, 720px);
}

.pump-service-gallery img {
	width: 100%;
	height: min(48vw, 520px);
	min-height: 280px;
	object-fit: cover;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 30px;
}

.pump-service-cta {
	margin-top: 54px;
	padding: clamp(28px, 4vw, 54px);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 16%, transparent);
	border-radius: 32px;
	background: color-mix(in srgb, var(--tt-text-color) 5%, transparent);
}

.pump-service-cta h2 {
	margin-bottom: 16px;
	font-size: clamp(34px, 4.4vw, 76px);
	line-height: .95;
}

@media (max-width: 1024px) {
	.pump-service-summary,
	.pump-service-pricing {
		grid-template-columns: 1fr;
	}

	.pump-service-hero-media img {
		height: 56vw;
		min-height: 300px;
	}

	.tt-pricing-plan {
		min-height: auto;
	}
}

@media (max-width: 1200px) and (min-width: 1025px) {
	.tt-pricing-plan {
		min-height: 100%;
	}
}

@media (max-width: 540px) {
	.pump-service-project-header .ph-caption-description {
		font-size: 16px;
	}

	.pump-service-hero-media,
	.pump-service-gallery img,
	.pump-service-cta,
	.tt-pricing-plan {
		border-radius: 22px;
	}

	.pump-service-summary-text p {
		font-size: 18px;
	}

	.pump-service-gallery .swiper-slide {
		width: 82vw;
	}

	.tt-pricing-plan {
		padding: 24px 22px 24px;
		box-shadow: 6px 6px 0 #16171a;
	}

	.tt-ppl-name {
		font-size: 32px;
	}

	.tt-ppl-price {
		font-size: 56px;
	}

	.tt-ppl-feature-text,
	.tt-ppl-description {
		font-size: 16px;
	}
}

/* ------------------------------------------------------------- *
 * Web service page
/* ------------------------------------------------------------- */

.pump-web-page {
	overflow: clip;
}

.pump-web-page *,
.pump-web-page *::before,
.pump-web-page *::after {
	box-sizing: border-box;
}

.pump-web-section {
	padding-top: 120px;
	padding-bottom: 120px;
}

.pump-web-eyebrow {
	margin: 0 0 26px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

.pump-web-heading {
	margin-bottom: 58px;
}

.pump-web-heading h2,
.pump-web-tool h2,
.pump-web-support h2,
.pump-web-estimate h2 {
	max-width: 14ch;
	margin: 0;
	font-size: 68px;
	line-height: .96;
	letter-spacing: 0;
}

.pump-web-heading-split {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
	gap: 64px;
	align-items: end;
}

.pump-web-heading-split > p {
	max-width: 620px;
	margin: 0;
	font-size: 19px;
	line-height: 1.45;
	color: color-mix(in srgb, var(--tt-text-color) 72%, transparent);
}

.pump-web-hero {
	position: relative;
	min-height: 880px;
	padding: 190px 0 110px;
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 16%, transparent);
}

.pump-web-hero::before {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(color-mix(in srgb, var(--tt-text-color) 7%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, var(--tt-text-color) 7%, transparent) 1px, transparent 1px);
	background-size: 32px 32px;
	content: "";
	pointer-events: none;
	-webkit-mask-image: linear-gradient(to bottom, #000 0%, transparent 92%);
	mask-image: linear-gradient(to bottom, #000 0%, transparent 92%);
}

.pump-web-hero-inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(460px, .95fr);
	gap: 70px;
	align-items: center;
}

.pump-web-hero-title {
	max-width: 13ch;
	margin: 0;
	font-size: 78px;
	line-height: .94;
	letter-spacing: 0;
}

.pump-web-hero-lead {
	max-width: 760px;
	margin: 32px 0 0;
	font-size: 21px;
	font-weight: 600;
	line-height: 1.45;
	color: color-mix(in srgb, var(--tt-text-color) 76%, transparent);
}

.pump-web-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 38px;
}

.pump-web-actions .tt-btn {
	min-height: 58px;
}

.pump-web-tags,
.pump-web-project-info ul,
.pump-web-capabilities-group {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pump-web-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 32px;
}

.pump-web-tags li,
.pump-web-project-info li {
	padding: 7px 12px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 28%, transparent);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.pump-web-hero-visual {
	position: relative;
	min-height: 610px;
}

.pump-web-browser {
	position: absolute;
	overflow: hidden;
	border: 2px solid var(--tt-text-color);
	border-radius: 8px;
	background: var(--tt-bg-color);
	box-shadow: 12px 12px 0 var(--tt-text-color);
}

.pump-web-browser-main {
	top: 32px;
	right: 0;
	width: 92%;
	transform: rotate(2deg);
}

.pump-web-browser-side {
	left: 0;
	bottom: 52px;
	width: 56%;
	transform: rotate(-5deg);
}

.pump-web-browser-bar {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 34px;
	padding: 0 12px;
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 22%, transparent);
}

.pump-web-browser-bar span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--tt-text-color);
}

.pump-web-browser-bar small {
	margin-left: auto;
	font-size: 10px;
	opacity: .55;
}

.pump-web-browser img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.pump-web-hero-metric {
	position: absolute;
	right: 3%;
	bottom: 0;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 2px 12px;
	min-width: 230px;
	padding: 18px;
	border: 2px solid var(--tt-text-color);
	border-radius: 8px;
	background: var(--tt-bg-color);
	box-shadow: 6px 6px 0 var(--tt-text-color);
}

.pump-web-hero-metric span {
	grid-row: span 2;
	font-size: 12px;
	font-weight: 800;
}

.pump-web-hero-metric strong {
	font-size: 17px;
}

.pump-web-hero-metric small {
	font-size: 11px;
	opacity: .65;
}

.pump-web-type-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid color-mix(in srgb, var(--tt-text-color) 24%, transparent);
	border-left: 1px solid color-mix(in srgb, var(--tt-text-color) 24%, transparent);
}

.pump-web-type-card {
	position: relative;
	min-height: 360px;
	padding: 32px;
	border-right: 1px solid color-mix(in srgb, var(--tt-text-color) 24%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 24%, transparent);
	transition: background-color .25s ease, color .25s ease;
}

.pump-web-type-card:hover,
.pump-web-type-card:focus-within,
.pump-web-type-card-dark {
	background: #16171a;
	color: #f0ede7;
}

.pump-web-type-card > span {
	font-size: 12px;
	font-weight: 800;
}

.pump-web-type-card i {
	position: absolute;
	top: 28px;
	right: 30px;
	font-size: 27px;
}

.pump-web-type-card h3 {
	max-width: 12ch;
	margin: 130px 0 18px;
	font-size: 34px;
	line-height: 1;
}

.pump-web-type-card p {
	max-width: 36ch;
	margin: 0;
	font-size: 16px;
	line-height: 1.45;
	color: color-mix(in srgb, currentColor 74%, transparent);
}

.pump-web-inline-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	margin-top: 34px;
	padding-top: 28px;
	border-top: 1px solid color-mix(in srgb, var(--tt-text-color) 20%, transparent);
}

.pump-web-inline-cta p {
	max-width: 740px;
	margin: 0;
	font-size: 18px;
	font-weight: 600;
}

.pump-web-tool {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: #16171a;
	color: #f0ede7;
}

.pump-web-tool::before {
	position: absolute;
	z-index: -2;
	inset: 0;
	background:
		radial-gradient(circle at 12% 84%, rgba(183, 68, 17, .2), transparent 32%),
		radial-gradient(circle at 82% 14%, rgba(240, 237, 231, .09), transparent 27%),
		linear-gradient(120deg, #121316 0%, #1a1b20 52%, #111215 100%);
	content: "";
}

.pump-web-tool::after {
	position: absolute;
	z-index: -1;
	inset: 0;
	background-image:
		linear-gradient(rgba(240, 237, 231, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(240, 237, 231, .035) 1px, transparent 1px);
	background-size: 42px 42px;
	mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
	content: "";
}

.pump-web-tool .tt-section-inner {
	position: relative;
	z-index: 2;
}

.pump-web-tool-inner {
	padding-right: clamp(20px, 4vw, 76px);
	padding-left: clamp(20px, 4vw, 76px);
}

.pump-web-tool-grid {
	display: block;
}

.pump-web-tool-copy h2 {
	max-width: none;
	margin-bottom: 0;
	font-size: clamp(40px, 3.4vw, 56px);
	line-height: 1;
}

.pump-web-tool-copy > p:last-child {
	max-width: none;
	margin: 22px 0 0;
	font-size: clamp(17px, 1.15vw, 20px);
	line-height: 1.5;
	color: rgba(240, 237, 231, .72);
}

.pump-web-outcomes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: clamp(36px, 4vw, 58px);
}

.pump-web-outcomes > article {
	position: relative;
	min-height: 220px;
	padding: 24px;
	overflow: hidden;
	border: 1px solid rgba(240, 237, 231, .16);
	border-radius: 6px;
	background: linear-gradient(145deg, rgba(240, 237, 231, .075), rgba(240, 237, 231, .025));
	backdrop-filter: blur(3px);
	transition: transform .35s cubic-bezier(.16, 1, .3, 1), border-color .35s ease, background-color .35s ease;
}

.pump-web-outcomes > article::after {
	position: absolute;
	right: -26px;
	bottom: -48px;
	font-family: "Font Awesome 6 Free";
	font-size: 112px;
	font-weight: 900;
	line-height: 1;
	color: rgba(240, 237, 231, .028);
	content: "\f062";
}

.pump-web-outcomes > article:hover {
	transform: translateY(-5px);
	border-color: rgba(183, 68, 17, .75);
	background: linear-gradient(145deg, rgba(183, 68, 17, .16), rgba(240, 237, 231, .035));
}

.pump-web-outcomes span {
	display: inline-flex;
	width: 32px;
	height: 32px;
	align-items: center;
	justify-content: center;
	margin-bottom: 28px;
	border: 1px solid rgba(240, 237, 231, .24);
	border-radius: 50%;
	font-size: 10px;
	color: rgba(240, 237, 231, .7);
}

.pump-web-outcomes h3 {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: clamp(19px, 1.35vw, 24px);
	line-height: 1.08;
}

.pump-web-outcomes p {
	position: relative;
	z-index: 1;
	margin: 17px 0 0;
	font-size: 14px;
	line-height: 1.45;
	color: rgba(240, 237, 231, .63);
}

.pump-eshop-models-head {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: none;
}

.pump-eshop-models-head h2 {
	max-width: none;
	margin: 0;
	font-size: clamp(38px, 3.5vw, 60px);
	line-height: 1.02;
}

.pump-eshop-models-head > p:not(.pump-web-eyebrow) {
	max-width: none;
	margin: 28px 0 0;
	font-size: clamp(16px, 1.1vw, 20px);
	line-height: 1.55;
	color: rgba(240, 237, 231, .7);
}

.pump-eshop-models-head > strong {
	display: inline-block;
	margin-top: 22px;
	padding-bottom: 6px;
	border-bottom: 1px solid rgba(183, 68, 17, .78);
	font-size: clamp(15px, 1vw, 18px);
	line-height: 1.45;
	color: #f0ede7;
}

.pump-eshop-models-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: clamp(42px, 4.5vw, 72px);
}

.pump-eshop-models-carousel {
	position: relative;
	z-index: 2;
	overflow: visible;
}

.pump-eshop-models-pagination {
	display: none;
}

.pump-eshop-model-card {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 520px;
	flex-direction: column;
	padding: clamp(26px, 2vw, 36px);
	overflow: hidden;
	border: 1px solid rgba(240, 237, 231, .16);
	border-radius: 6px;
	background: linear-gradient(145deg, rgba(240, 237, 231, .075), rgba(240, 237, 231, .025));
	backdrop-filter: blur(3px);
	transition: transform .35s cubic-bezier(.16, 1, .3, 1), border-color .35s ease;
}

.pump-eshop-model-card::after {
	position: absolute;
	right: -42px;
	bottom: -58px;
	width: 160px;
	height: 160px;
	border: 1px solid rgba(240, 237, 231, .055);
	border-radius: 50%;
	content: "";
}

.pump-eshop-model-card:hover {
	transform: translateY(-5px);
	border-color: rgba(240, 237, 231, .38);
}

.pump-eshop-model-card--featured {
	border-color: rgba(183, 68, 17, .78);
	background: linear-gradient(145deg, rgba(183, 68, 17, .18), rgba(240, 237, 231, .035));
}

.pump-eshop-model-card--featured:hover {
	border-color: #b74411;
}

.pump-eshop-model-badge {
	position: absolute;
	top: 18px;
	right: 78px;
	padding: 6px 9px;
	border-radius: 999px;
	background: #b74411;
	font-size: 9px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
}

.pump-eshop-model-icon {
	position: absolute;
	z-index: 0;
	top: 22px;
	right: 22px;
	display: inline-flex;
	width: 70px;
	height: 70px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(240, 237, 231, .12);
	border-radius: 50%;
	font-size: 28px;
	color: rgba(240, 237, 231, .2);
	transform: scale(1);
	transition: color .3s ease, border-color .3s ease, transform .35s cubic-bezier(.16, 1, .3, 1);
}

.pump-eshop-model-card:hover .pump-eshop-model-icon {
	border-color: rgba(240, 237, 231, .26);
	color: rgba(240, 237, 231, .5);
	transform: scale(1.1);
}

.pump-eshop-model-card h3 {
	position: relative;
	z-index: 1;
	max-width: calc(100% - 74px);
	margin: 4px 0 0;
	font-size: clamp(24px, 1.75vw, 32px);
	line-height: 1.05;
}

.pump-eshop-model-card > p {
	position: relative;
	z-index: 1;
	margin: 18px 0 0;
	font-size: 14px;
	line-height: 1.5;
	color: rgba(240, 237, 231, .66);
}

.pump-eshop-model-card ul {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px 18px;
	margin: 26px 0 30px;
	padding: 0;
	list-style: none;
}

.pump-eshop-model-card li {
	position: relative;
	padding-left: 15px;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.35;
	color: rgba(240, 237, 231, .88);
}

.pump-eshop-model-card li::before {
	position: absolute;
	top: .52em;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #b74411;
	content: "";
}

.pump-eshop-model-card small {
	position: relative;
	z-index: 1;
	display: block;
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid rgba(240, 237, 231, .13);
	font-size: 11px;
	line-height: 1.45;
	color: rgba(240, 237, 231, .55);
}

.pump-eshop-models-cta {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
	margin-top: 14px;
	padding: clamp(24px, 2.3vw, 38px);
	border: 1px solid rgba(240, 237, 231, .16);
	border-radius: 6px;
	background: rgba(240, 237, 231, .045);
}

.pump-eshop-models-cta > p {
	max-width: 850px;
	margin: 0;
	font-size: clamp(15px, 1vw, 18px);
	line-height: 1.5;
	color: rgba(240, 237, 231, .72);
}

.pump-eshop-models-actions {
	display: flex;
	flex: 0 0 auto;
	gap: 12px;
}

.pump-eshop-models-actions .tt-btn-outline {
	box-shadow: inset 0 0 0 2px rgba(240, 237, 231, .78), 2px 4px 0 -1px rgba(240, 237, 231, .78);
}

.pump-eshop-models-actions .tt-btn-outline > *,
.pump-eshop-models-actions .tt-btn-outline > *::after {
	color: #f0ede7;
}

.pump-eshop-models-actions button.tt-btn {
	font: inherit;
	cursor: pointer;
}

@media (max-width: 1199px) {
	.pump-eshop-models-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pump-eshop-models-cta { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 767px) {
	.pump-web-tool .pump-eshop-models-head h2 { font-size: clamp(29px, 9.2vw, 35px); line-height: 1.04; }
	.pump-web-tool .pump-eshop-models-head > p:not(.pump-web-eyebrow) { margin-top: 18px; font-size: 13px; line-height: 1.48; }
	.pump-web-tool .pump-eshop-models-head > strong { margin-top: 15px; font-size: 12px; }
	.pump-eshop-models-carousel.is-mobile-carousel { width: 100%; padding: 0 2px; overflow: hidden; }
	.pump-eshop-models-carousel.is-mobile-carousel .pump-eshop-models-grid.swiper-wrapper { display: flex; align-items: stretch; flex-wrap: nowrap; gap: 0; margin-top: 32px; }
	.pump-eshop-models-carousel.is-mobile-carousel .pump-eshop-model-card.swiper-slide { height: auto; min-height: 450px; padding: 22px 21px 20px; }
	.pump-eshop-model-card h3 { max-width: calc(100% - 58px); padding-right: 0; font-size: 25px; }
	.pump-eshop-model-card > p { font-size: 12px; }
	.pump-eshop-model-card ul { gap: 8px 12px; margin: 22px 0 26px; }
	.pump-eshop-model-card li { font-size: 11px; }
	.pump-eshop-model-icon { top: 18px; right: 18px; width: 58px; height: 58px; font-size: 23px; }
	.pump-eshop-model-badge { top: 76px; right: 18px; }
	.pump-eshop-models-pagination { display: flex; align-items: center; justify-content: center; width: 100% !important; padding: 17px 0 5px; font-size: 0; white-space: nowrap; overflow: visible; }
	.pump-eshop-models-pagination .swiper-pagination-bullet { display: inline-block; width: 14px; height: 14px; margin: 7px !important; padding: 0; border: 0; border-radius: 50%; background: var(--tt-light-color); opacity: 1; cursor: pointer; transform: scale(.33); transition: transform .2s ease, background-color .2s ease; }
	.pump-eshop-models-pagination .swiper-pagination-bullet-active { background: var(--tt-main-color); transform: scale(1); }
	.pump-eshop-models-pagination .swiper-pagination-bullet.is-near { transform: scale(.66); }
	.pump-eshop-models-pagination .swiper-pagination-bullet.is-far { transform: scale(.33); }
	.pump-eshop-models-cta { gap: 13px; padding: 20px 22px; }
	.pump-eshop-models-cta > p { font-size: 12px; line-height: 1.42; }
	.pump-eshop-models-actions { width: 100%; flex-direction: column; gap: 3px; }
	.pump-eshop-models-actions .tt-btn { width: 100%; }
}

.pump-web-growth-field {
	position: absolute;
	z-index: 0;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.pump-web-rise-arrow {
	--arrow-size: 38px;
	--arrow-x: 0px;
	position: absolute;
	bottom: -160px;
	left: var(--arrow-left);
	font-size: var(--arrow-size);
	color: rgba(240, 237, 231, .1);
	filter: blur(.15px);
	animation: pumpWebArrowRise var(--arrow-duration) linear var(--arrow-delay) infinite;
}

.pump-web-rise-arrow:nth-child(3n) {
	color: rgba(183, 68, 17, .2);
}

.pump-web-rise-arrow-1 { --arrow-left: 5%; --arrow-size: 24px; --arrow-duration: 14s; --arrow-delay: -8s; --arrow-x: 34px; }
.pump-web-rise-arrow-2 { --arrow-left: 18%; --arrow-size: 62px; --arrow-duration: 21s; --arrow-delay: -17s; --arrow-x: -24px; }
.pump-web-rise-arrow-3 { --arrow-left: 35%; --arrow-size: 34px; --arrow-duration: 16s; --arrow-delay: -3s; --arrow-x: 42px; }
.pump-web-rise-arrow-4 { --arrow-left: 49%; --arrow-size: 90px; --arrow-duration: 25s; --arrow-delay: -20s; --arrow-x: -35px; }
.pump-web-rise-arrow-5 { --arrow-left: 64%; --arrow-size: 28px; --arrow-duration: 15s; --arrow-delay: -11s; --arrow-x: 18px; }
.pump-web-rise-arrow-6 { --arrow-left: 77%; --arrow-size: 54px; --arrow-duration: 19s; --arrow-delay: -6s; --arrow-x: -44px; }
.pump-web-rise-arrow-7 { --arrow-left: 89%; --arrow-size: 22px; --arrow-duration: 13s; --arrow-delay: -9s; --arrow-x: 22px; }
.pump-web-rise-arrow-8 { --arrow-left: 95%; --arrow-size: 72px; --arrow-duration: 23s; --arrow-delay: -15s; --arrow-x: -58px; }
.pump-web-rise-arrow-9 { --arrow-left: 27%; --arrow-size: 46px; --arrow-duration: 20s; --arrow-delay: -7s; --arrow-x: 54px; }
.pump-web-rise-arrow-10 { --arrow-left: 84%; --arrow-size: 32px; --arrow-duration: 17s; --arrow-delay: -13s; --arrow-x: -28px; }

.pump-eshop-models .pump-web-rise-arrow {
	top: 104%;
	bottom: auto;
	animation-name: pumpEshopCommerceIconRise;
}

@keyframes pumpEshopCommerceIconRise {
	0% { top: 104%; opacity: 0; transform: translate3d(0, 0, 0) scale(.78) rotate(-8deg); }
	10% { opacity: .72; }
	52% { transform: translate3d(var(--arrow-x), 0, 0) scale(1) rotate(5deg); }
	88% { opacity: .58; }
	100% { top: -10%; opacity: 0; transform: translate3d(calc(0px - var(--arrow-x)), 0, 0) scale(1.15) rotate(-4deg); }
}

@keyframes pumpWebArrowRise {
	0% { opacity: 0; transform: translate3d(0, 140px, 0) scale(.78); }
	12% { opacity: .8; }
	52% { transform: translate3d(var(--arrow-x), -46vh, 0) scale(1); }
	86% { opacity: .65; }
	100% { opacity: 0; transform: translate3d(calc(0px - var(--arrow-x)), -108vh, 0) scale(1.18); }
}

.pump-web-cases-section {
	position: relative;
	overflow: hidden;
}

.pump-web-cases-heading {
	margin-bottom: clamp(44px, 5vw, 76px);
}

.pump-web-cases-heading h2 {
	max-width: 17ch;
}

.pump-web-cases-copy > p {
	max-width: 620px;
	margin: 0;
}

.pump-web-cases-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: clamp(12px, 1.3vw, 18px);
}

.pump-web-case-carousel {
	margin: 0;
	padding: 20px 0 84px;
}

.pump-web-case-carousel .swiper {
	overflow: visible;
}

.pump-web-case-carousel .tt-portfolio-carousel-item {
	margin-right: clamp(20px, 2.5vw, 48px);
	margin-left: clamp(20px, 2.5vw, 48px);
}

.pump-web-case-carousel .tt-pci-image {
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 22%, transparent);
	border-radius: 8px;
	box-shadow: 8px 8px 0 -2px color-mix(in srgb, var(--tt-text-color) 16%, transparent);
}

.pump-web-case-carousel .tt-pci-image::before {
	background: linear-gradient(to bottom, rgba(10, 10, 12, .08) 26%, rgba(10, 10, 12, .76) 100%);
	opacity: 1;
}

.pump-web-case-carousel .tt-pci-image img {
	aspect-ratio: 16 / 10;
}

.pump-web-case-carousel .tt-pci-info {
	--_pc-info-margin: clamp(20px, 4%, 34px);
}

.pump-web-case-carousel .tt-pci-title {
	max-width: calc(100% - 52px);
	font-size: clamp(25px, 2.15vw, 36px);
	line-height: 1.08;
	white-space: normal;
}

.pump-web-case-carousel .tt-pci-category {
	font-size: 12px;
	pointer-events: none;
}

.pump-web-case-carousel .tt-pci-nav-prev,
.pump-web-case-carousel .tt-pci-nav-next {
	top: auto;
	right: clamp(24px, 4vw, 70px);
	bottom: 0;
	left: auto;
	transform: none;
}

.pump-web-case-carousel .tt-pci-nav-prev {
	right: clamp(88px, 8vw, 136px);
}

.pump-web-case-carousel .tt-pci-nav-arrow {
	width: 50px;
	height: 50px;
	padding: 0;
	border: 2px solid var(--tt-text-color);
	background: transparent;
	color: var(--tt-text-color);
}

.pump-web-case-carousel .tt-pci-nav-arrow:hover,
.pump-web-case-carousel .tt-pci-nav-arrow:focus-visible {
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
}

.pump-web-case-carousel .tt-pci-pagination {
	bottom: 15px;
	font-weight: 700;
}

.pump-web-project-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.pump-web-project-card {
	position: relative;
}

.pump-web-project-media {
	display: block;
	overflow: hidden;
	border: 2px solid var(--tt-text-color);
	border-radius: 8px;
	background: #16171a;
}

.pump-web-project-media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform .55s cubic-bezier(.16, 1, .3, 1);
}

.pump-web-project-card:hover .pump-web-project-media img {
	transform: scale(1.035);
}

.pump-web-project-wide .pump-web-project-media img {
	aspect-ratio: 21 / 9;
}

.pump-web-project-info {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	padding: 24px 4px 42px;
}

.pump-web-project-info p {
	margin: 0 0 8px;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.pump-web-project-info h3 {
	margin: 0 0 10px;
	font-size: 28px;
	line-height: 1.05;
}

.pump-web-project-info h3 a {
	color: inherit;
}

.pump-web-project-info span {
	display: block;
	max-width: 54ch;
	font-size: 15px;
	line-height: 1.45;
	color: color-mix(in srgb, var(--tt-text-color) 70%, transparent);
}

.pump-web-project-info ul {
	display: flex;
	max-width: 250px;
	flex-wrap: wrap;
	align-content: flex-start;
	justify-content: flex-end;
	gap: 7px;
}

.pump-web-center-action {
	display: flex;
	justify-content: center;
	margin-top: 24px;
}

.pump-web-delivery {
	border-top: 1px solid color-mix(in srgb, var(--tt-text-color) 16%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 16%, transparent);
}

.pump-web-delivery-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 2px solid var(--tt-text-color);
	border-left: 2px solid var(--tt-text-color);
}

.pump-web-delivery-grid article {
	min-height: 350px;
	padding: 28px;
	border-right: 2px solid var(--tt-text-color);
	border-bottom: 2px solid var(--tt-text-color);
}

.pump-web-delivery-grid article:nth-child(even) {
	background: color-mix(in srgb, var(--tt-text-color) 5%, transparent);
}

.pump-web-delivery-grid span {
	font-size: 12px;
	font-weight: 800;
}

.pump-web-delivery-grid h3 {
	margin: 100px 0 24px;
	font-size: 31px;
}

.pump-web-delivery-grid ul,
.pump-web-support-panel ul,
.pump-web-price-card ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pump-web-delivery-grid li {
	position: relative;
	margin-bottom: 12px;
	padding-left: 18px;
	font-size: 15px;
	line-height: 1.35;
}

.pump-web-delivery-grid li::before {
	position: absolute;
	left: 0;
	content: "+";
	font-weight: 800;
}

.pump-web-delivery-note {
	margin: 34px 0 0;
	font-size: 22px;
	font-weight: 700;
}

.pump-web-section.pump-web-cases-section {
	padding-bottom: 48px;
}

.pump-web-section.pump-web-capabilities-section {
	padding-top: 58px;
}

.pump-web-capabilities-marquee {
	--capability-gap: clamp(8px, .75vw, 13px);
	display: grid;
	width: 100vw;
	max-width: none;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	gap: 12px;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.pump-web-capabilities-row {
	width: 100%;
	padding-block: 2px;
	overflow: hidden;
}

.pump-web-capabilities-track {
	display: flex;
	align-items: center;
	width: max-content;
	will-change: transform;
	animation: pumpWebCapabilitiesFlow 100s linear infinite;
}

.pump-web-capabilities-row.is-reverse .pump-web-capabilities-track {
	animation-direction: reverse;
}

.pump-web-capabilities-group {
	display: flex;
	flex: none;
	align-items: center;
	gap: var(--capability-gap);
	padding-right: var(--capability-gap);
}

.pump-web-capability-tag {
	display: inline-flex;
	max-width: 100%;
	min-height: 38px;
	flex: none;
	align-items: center;
	justify-content: center;
	padding: 10px 15px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 32%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-text-color) 2%, transparent);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
	overflow-wrap: anywhere;
	cursor: default;
	transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}

.pump-web-capability-tag.is-medium {
	min-height: 44px;
	padding: 12px 18px;
	font-size: 15px;
}

.pump-web-capability-tag.is-small {
	min-height: 32px;
	padding: 7px 11px;
	font-size: 11px;
}

.pump-web-capability-tag.is-large {
	min-height: 50px;
	padding: 14px 22px;
	border-color: color-mix(in srgb, var(--tt-text-color) 44%, transparent);
	font-size: clamp(15px, 1.1vw, 18px);
	font-weight: 800;
}

.pump-web-capability-tag:hover {
	border-color: color-mix(in srgb, var(--tt-text-color) 58%, transparent);
	background: color-mix(in srgb, var(--tt-text-color) 8%, transparent);
}

body:not(.tt-dark-mode-on) .pump-web-capability-tag:hover {
	border-color: #16171a;
	background: #16171a;
	color: #f3f0e8;
}

@keyframes pumpWebCapabilitiesFlow {
	to { transform: translate3d(-50%, 0, 0); }
}

.pump-web-capabilities-copy {
	display: flex;
	max-width: 620px;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
}

.pump-web-capabilities-copy p {
	margin: 0;
	font-size: 19px;
	line-height: 1.45;
	color: color-mix(in srgb, var(--tt-text-color) 72%, transparent);
}

.pump-web-capabilities-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 4px;
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 45%, transparent);
	color: var(--tt-text-color);
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
	transition: border-color .25s ease, color .25s ease;
}

.pump-web-capabilities-link i {
	font-size: 12px;
	transition: transform .25s ease;
}

.pump-web-capabilities-link:hover {
	border-color: var(--tt-text-color);
	color: var(--tt-text-color);
}

.pump-web-capabilities-link:hover i {
	transform: translateX(3px);
}

.pump-web-process-section {
	isolation: isolate;
	overflow: hidden;
	padding-top: clamp(72px, 7vw, 108px);
	padding-bottom: clamp(72px, 7vw, 108px);
	background:
		repeating-linear-gradient(135deg, rgb(255 255 255 / .022) 0 1px, transparent 1px 24px),
		linear-gradient(135deg, #111216 0%, #1c1d21 54%, #131418 100%);
	color: #f3f0e8;
}

.pump-web-process-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .65fr);
	gap: clamp(48px, 8vw, 150px);
	align-items: end;
	margin-bottom: clamp(28px, 3vw, 46px);
}

.pump-web-process-heading h2 {
	max-width: 900px;
	margin: 0;
	color: #f3f0e8;
	font-size: clamp(42px, 4.8vw, 82px);
	line-height: .94;
}

.pump-web-process-heading > p {
	max-width: 600px;
	margin: 0 0 7px;
	color: rgb(243 240 232 / .7);
	font-size: clamp(16px, 1.3vw, 21px);
	line-height: 1.5;
}

.pump-web-process-shell {
	position: relative;
	padding: 0;
}

.pump-web-process-route {
	position: absolute;
	top: 30px;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, rgb(243 240 232 / .08), rgb(243 240 232 / .28), rgb(243 240 232 / .08));
	pointer-events: none;
}

.pump-web-process-route::before,
.pump-web-process-route::after {
	position: absolute;
	top: 50%;
	width: 8px;
	height: 8px;
	border: 1px solid rgb(243 240 232 / .46);
	background: #16171a;
	transform: translateY(-50%) rotate(45deg);
	content: "";
}

.pump-web-process-route::before { left: 0; }
.pump-web-process-route::after { right: 0; }

.pump-web-process-route span {
	position: absolute;
	top: 50%;
	left: 0;
	width: clamp(64px, 7vw, 112px);
	height: 2px;
	border-radius: 99px;
	background: linear-gradient(90deg, transparent, #9d2e13 58%, #df4b27);
	box-shadow: 0 0 18px rgb(157 46 19 / .55);
	transform: translateY(-50%);
	animation: pumpWebProcessSignal 5.8s linear infinite;
}

.pump-web-process-route span::after {
	position: absolute;
	top: 50%;
	right: -3px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #e55a35;
	box-shadow: 0 0 0 5px rgb(157 46 19 / .16), 0 0 20px rgb(229 90 53 / .8);
	transform: translateY(-50%);
	content: "";
}

.pump-web-process {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pump-web-process li {
	position: relative;
	display: block;
	min-height: 238px;
	padding: 66px clamp(16px, 1.45vw, 28px) 20px;
	background: transparent;
	overflow: visible;
}

.pump-web-process li:hover {
	z-index: 2;
}

.pump-web-process li > span {
	position: absolute;
	top: 12px;
	left: clamp(16px, 1.45vw, 28px);
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	border: 1px solid rgb(243 240 232 / .35);
	border-radius: 50%;
	background: #16171a;
	color: #f3f0e8;
	font-size: 11px;
	font-weight: 900;
}

.pump-web-process li > div {
	position: relative;
	z-index: 1;
	display: block;
	min-width: 0;
	transition: transform .35s cubic-bezier(.2,.8,.2,1);
}

.pump-web-process li:hover > div { transform: translateY(-5px); }

.pump-web-process h3 {
	margin: 0;
	color: #f3f0e8;
	font-size: clamp(18px, 1.45vw, 27px);
	line-height: 1.06;
}

.pump-web-process p {
	max-width: 440px;
	margin: 16px 0 0;
	color: rgb(243 240 232 / .62);
	font-size: clamp(12px, .82vw, 14px);
	line-height: 1.45;
}

.pump-web-process-note {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: clamp(28px, 3vw, 46px) 0 0;
	color: rgb(243 240 232 / .78);
	font-size: clamp(13px, 1vw, 16px);
	font-weight: 700;
}

.pump-web-benefits-section {
	background-color: transparent;
}

@media (min-width: 768px) {
	.pump-web-section.pump-web-benefits-section {
		padding-top: clamp(72px, 5vw, 90px);
	}
}

.pump-web-benefits-heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	text-align: center;
}

.pump-web-benefits-heading h2 {
	width: 100%;
	max-width: none;
}

.pump-web-benefits-heading > p {
	width: 100%;
	max-width: 980px;
}

.pump-web-benefits-grid .pump-benefit-card {
	min-height: clamp(250px, 19vw, 310px);
}

.pump-web-benefits-grid .pump-benefit-card h3 {
	max-width: 82%;
}

.pump-web-process-note i {
	display: grid;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	place-items: center;
	border: 1px solid rgb(243 240 232 / .2);
	border-radius: 50%;
	color: #f3f0e8;
	font-size: 11px;
}

@keyframes pumpWebProcessSignal {
	from { left: 0; transform: translate(-100%, -50%); }
	to { left: 100%; transform: translate(0, -50%); }
}

.pump-web-pricing-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.pump-web-price-card {
	position: relative;
	display: flex;
	min-height: 740px;
	flex-direction: column;
	padding: 28px;
	border: 2px solid var(--tt-text-color);
	border-radius: 8px;
	background: var(--tt-bg-color);
	box-shadow: 7px 7px 0 var(--tt-text-color);
}

.pump-web-price-featured {
	background: #16171a;
	color: #f0ede7;
}

.pump-web-price-badge {
	position: absolute;
	top: -14px;
	right: 18px;
	padding: 8px 14px;
	border-radius: 999px;
	background: #b74411;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

.pump-web-price-head {
	min-height: 360px;
}

.pump-web-price-head > p {
	margin: 0 0 24px;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.pump-web-price-head h3 {
	min-height: 82px;
	margin: 0 0 28px;
	font-size: 36px;
	line-height: .98;
}

.pump-web-price-head > div {
	display: flex;
	align-items: baseline;
	gap: 8px;
	min-height: 74px;
	margin-bottom: 22px;
}

.pump-web-price-head small {
	font-size: 15px;
	font-weight: 800;
}

.pump-web-price-head strong {
	font-size: 54px;
	line-height: 1;
}

.pump-web-price-custom .pump-web-price-head strong {
	font-size: 30px;
}

.pump-web-price-head > span {
	display: block;
	font-size: 15px;
	line-height: 1.4;
	color: color-mix(in srgb, currentColor 72%, transparent);
}

.pump-web-price-card .tt-btn {
	margin-bottom: 30px;
}

.pump-web-price-featured .tt-btn {
	background: #f0ede7;
	border-color: #f0ede7;
	color: #16171a;
}

.pump-web-price-card ul {
	margin-top: auto;
}

.pump-web-price-card li {
	position: relative;
	margin-bottom: 13px;
	padding-left: 22px;
	font-size: 14px;
	line-height: 1.35;
}

.pump-web-price-card li::before {
	position: absolute;
	left: 0;
	content: "✓";
	font-weight: 900;
}

.pump-web-pricing-note {
	max-width: 1050px;
	margin: 36px auto 0;
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
	color: color-mix(in srgb, var(--tt-text-color) 68%, transparent);
}

.pump-web-reasons {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid color-mix(in srgb, var(--tt-text-color) 26%, transparent);
	border-left: 1px solid color-mix(in srgb, var(--tt-text-color) 26%, transparent);
}

.pump-web-reasons article {
	min-height: 235px;
	padding: 28px;
	border-right: 1px solid color-mix(in srgb, var(--tt-text-color) 26%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 26%, transparent);
}

.pump-web-reasons span {
	font-size: 11px;
	font-weight: 800;
}

.pump-web-reasons h3 {
	margin: 62px 0 14px;
	font-size: 24px;
	line-height: 1.1;
}

.pump-web-reasons p {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: color-mix(in srgb, var(--tt-text-color) 68%, transparent);
}

.pump-web-support-panel {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
	gap: 70px;
	padding: 64px;
	border: 2px solid var(--tt-text-color);
	border-radius: 8px;
	background: color-mix(in srgb, var(--tt-text-color) 5%, var(--tt-bg-color));
	box-shadow: 10px 10px 0 var(--tt-text-color);
}

.pump-web-support-panel h2 {
	max-width: 12ch;
}

.pump-web-support-panel p:not(.pump-web-eyebrow) {
	max-width: 760px;
	margin: 30px 0;
	font-size: 19px;
	line-height: 1.5;
}

.pump-web-support-panel ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-content: center;
	border-top: 1px solid color-mix(in srgb, var(--tt-text-color) 26%, transparent);
	border-left: 1px solid color-mix(in srgb, var(--tt-text-color) 26%, transparent);
}

.pump-web-support-panel li {
	display: flex;
	min-height: 95px;
	align-items: flex-end;
	padding: 16px;
	border-right: 1px solid color-mix(in srgb, var(--tt-text-color) 26%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 26%, transparent);
	font-size: 14px;
	font-weight: 700;
}

.pump-web-faq-section .tt-section-inner {
	width: 100%;
}

/* E-shop final CTA */
.pump-web-final-cta {
	--pump-eshop-cta-blue: var(--tt-main-color);
	--pump-eshop-cta-lime: var(--tt-main-color);
}

.pump-eshop-final-cta-head {
	width: min(100%, 1500px);
	margin-inline: auto;
	text-align: center;
}

.pump-eshop-final-cta-kicker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 clamp(22px, 2.2vw, 38px);
	padding: 10px 16px;
	border-radius: 999px;
	background-color: var(--pump-eshop-cta-blue);
	color: #FFF;
	font-size: clamp(11px, 0.75vw, 14px);
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.pump-eshop-final-cta-title {
	margin: 0;
	font-size: clamp(52px, 5.2vw, 100px);
	font-weight: 700;
	line-height: 0.94;
	letter-spacing: 0;
	text-transform: uppercase;
}

.pump-eshop-final-cta-line {
	display: block;
	white-space: nowrap;
}

.pump-eshop-final-cta-blue {
	color: var(--pump-eshop-cta-blue);
}

.pump-eshop-final-cta-line-accent {
	margin-top: 0.08em;
}

.pump-eshop-final-cta-line-accent > span {
	position: relative;
	z-index: 0;
	isolation: isolate;
	display: inline-block;
	padding-inline: 0.06em;
}

.pump-eshop-final-cta-line-accent > span::before {
	position: absolute;
	z-index: -1;
	left: -0.02em;
	right: -0.02em;
	bottom: 0.02em;
	height: 0.3em;
	background-color: var(--pump-eshop-cta-lime);
	content: "";
	transform: rotate(-0.45deg) scaleX(1);
	transform-origin: left center;
}

html.pump-eshop-cta-booting .pump-web-final-cta .pump-eshop-final-cta-line-accent > span::before {
	transform: rotate(-0.45deg) scaleX(0);
	transition: transform 850ms cubic-bezier(.22, 1, .36, 1);
}

html.pump-eshop-cta-booting .pump-web-final-cta.is-accent-visible .pump-eshop-final-cta-line-accent > span::before {
	transform: rotate(-0.45deg) scaleX(1);
}

.pump-eshop-final-cta-copy {
	max-width: 720px;
	margin: clamp(28px, 3vw, 48px) auto 0;
	font-size: clamp(16px, 1.1vw, 21px);
	line-height: 1.45;
}

.pump-eshop-final-cta-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: clamp(24px, 2.5vw, 38px);
}

.pump-eshop-final-cta-actions .tt-btn {
	min-width: 245px;
	justify-content: center;
}

.pump-eshop-final-cta-primary {
	border-color: var(--tt-text-color) !important;
	background-color: var(--tt-text-color) !important;
	color: var(--tt-bg-color) !important;
}

.pump-eshop-final-cta-primary > *,
.pump-eshop-final-cta-primary > *::after {
	color: inherit !important;
}

.pump-eshop-final-cta-primary:hover,
.pump-eshop-final-cta-primary:focus-visible {
	border-color: var(--tt-text-color) !important;
	background-color: var(--tt-text-color) !important;
	color: var(--tt-bg-color) !important;
}

.pump-eshop-final-cta-secondary {
	border: 2px solid var(--tt-text-color) !important;
	background-color: transparent !important;
	color: var(--tt-text-color) !important;
}

.pump-eshop-final-cta-secondary > *,
.pump-eshop-final-cta-secondary > *::after {
	color: inherit !important;
}

.pump-eshop-final-cta-secondary:hover,
.pump-eshop-final-cta-secondary:focus-visible {
	background-color: var(--tt-text-color) !important;
	color: var(--tt-bg-color) !important;
}

.pump-eshop-final-cta-actions .tt-btn:focus-visible {
	outline: 3px solid var(--tt-main-color);
	outline-offset: 4px;
}

@media (max-width: 767px) {
	.pump-eshop-final-cta-title {
		font-size: clamp(29px, 9.3vw, 44px);
		line-height: 0.98;
	}

	.pump-eshop-final-cta-copy {
		max-width: 34rem;
		font-size: 16px;
	}

	.pump-eshop-final-cta-actions {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.pump-eshop-final-cta-actions .tt-btn {
		width: 100%;
		min-width: 0;
	}
}

@media (max-width: 359px) {
	.pump-eshop-final-cta-title {
		font-size: 27px;
	}
}


.pump-web-faq-heading {
	margin-bottom: clamp(38px, 4vw, 64px);
}

.pump-web-faq-heading h2 {
	max-width: none;
}

.pump-web-faq-intro {
	max-width: 1120px;
	margin: 24px 0 0;
	color: color-mix(in srgb, var(--tt-text-color) 72%, transparent);
	font-size: clamp(15px, 1vw, 18px);
	line-height: 1.5;
}

.pump-web-faq-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 2.2vw, 36px);
	align-items: start;
}

.pump-web-faq-columns .pump-web-faq {
	min-width: 0;
}

.pump-web-faq .tt-accordion-item {
	margin-bottom: 10px;
}

.pump-web-faq .tt-accordion-content p {
	max-width: none;
	margin-bottom: 12px;
	font-size: clamp(12px, .82vw, 14px);
	line-height: 1.55;
}

.pump-web-faq .tt-accordion-content p:last-child {
	margin-bottom: 0;
}

.pump-web-estimate {
	background: #16171a;
	color: #f0ede7;
}

.pump-web-estimate-grid {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(520px, 1.2fr);
	gap: 80px;
	align-items: start;
}

.pump-web-estimate-copy {
	position: sticky;
	top: 130px;
}

.pump-web-estimate-copy h2 {
	max-width: 13ch;
}

.pump-web-estimate-copy > p:not(.pump-web-eyebrow) {
	max-width: 620px;
	margin: 28px 0;
	font-size: 19px;
	line-height: 1.5;
	color: rgba(240, 237, 231, .72);
}

.pump-web-email-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: inherit;
	font-size: 17px;
	font-weight: 700;
}

.pump-web-estimate-form {
	padding: 42px;
	border: 1px solid rgba(240, 237, 231, .25);
	border-radius: 8px;
}

.pump-web-form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.pump-web-estimate-form .tt-form-group {
	margin-bottom: 24px;
}

.pump-web-estimate-form label {
	display: block;
	margin-bottom: 8px;
	color: #f0ede7;
	font-size: 13px;
	font-weight: 700;
}

.pump-web-estimate-form .tt-form-control {
	color: #f0ede7;
	border-color: rgba(240, 237, 231, .35);
}

.pump-web-estimate-form select.tt-form-control {
	color-scheme: dark;
}

.pump-web-estimate-form .tt-form-check {
	margin: 8px 0 28px;
}

.pump-web-estimate-form .tt-form-check label {
	display: inline;
	font-weight: 500;
}

.pump-web-estimate-form .tt-form-check a {
	color: inherit;
}

.pump-web-estimate-form .tt-btn {
	background: #f0ede7;
	border-color: #f0ede7;
	color: #16171a;
}

@media (max-width: 1399px) {
	.pump-web-section { padding-top: 100px; padding-bottom: 100px; }
	.pump-web-hero { min-height: 790px; padding-top: 165px; }
	.pump-web-hero-title { font-size: 64px; }
	.pump-web-heading h2,
	.pump-web-tool h2,
	.pump-web-support h2,
	.pump-web-estimate h2 { font-size: 58px; }
	.pump-web-tool-copy h2 { font-size: 48px; }
	.pump-web-hero-inner { grid-template-columns: minmax(0, 1fr) minmax(400px, .85fr); gap: 42px; }
	.pump-web-hero-visual { min-height: 520px; }
	.pump-web-pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pump-web-price-card { min-height: 690px; }
}

@media (max-width: 1024px) {
	.pump-web-section { padding-top: 86px; padding-bottom: 86px; }
	.pump-web-hero { min-height: auto; padding: 150px 0 90px; }
	.pump-web-hero-inner,
	.pump-web-tool-grid,
	.pump-web-support-panel,
	.pump-web-estimate-grid { grid-template-columns: 1fr; }
	.pump-web-hero-title { max-width: 15ch; font-size: 60px; }
	.pump-web-hero-visual { min-height: 600px; margin-top: 20px; }
	.pump-web-heading-split { grid-template-columns: 1fr; gap: 24px; }
	.pump-web-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pump-web-project-grid { grid-template-columns: 1fr; }
	.pump-web-delivery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pump-web-estimate-copy { position: static; }
	.pump-web-reasons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pump-web-support-panel { padding: 46px; }
	.pump-web-tool-grid { gap: 56px; }
	.pump-web-tool-copy h2 { max-width: none; }
	.pump-web-outcomes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pump-web-cases-heading { margin-bottom: 42px; }
	.pump-web-process-heading { grid-template-columns: 1fr; gap: 24px; }
	.pump-web-process-heading > p { max-width: 720px; }
	.pump-web-process { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pump-web-process-route { display: none; }
}

@media (max-width: 767px) {
	.pump-web-section { padding-top: 72px; padding-bottom: 72px; }
	.pump-web-eyebrow { margin-bottom: 18px; font-size: 12px; }
	.pump-web-heading { margin-bottom: 38px; }
	.pump-web-heading h2,
	.pump-web-tool h2,
	.pump-web-support h2,
	.pump-web-estimate h2 { max-width: none; font-size: 42px; line-height: 1; }
	.pump-web-hero { padding: 126px 0 70px; }
	.pump-web-hero-title { font-size: 46px; line-height: .98; }
	.pump-web-hero-lead { margin-top: 24px; font-size: 18px; }
	.pump-web-actions { flex-direction: column; }
	.pump-web-actions .tt-btn { width: 100%; }
	.pump-web-tags { gap: 6px; margin-top: 24px; }
	.pump-web-tags li { font-size: 10px; }
	.pump-web-hero-visual { min-height: 430px; }
	.pump-web-browser-main { top: 20px; width: 94%; }
	.pump-web-browser-side { bottom: 48px; width: 62%; }
	.pump-web-hero-metric { right: 0; min-width: 190px; padding: 14px; }
	.pump-web-type-grid { grid-template-columns: 1fr; }
	.pump-web-type-card { min-height: 285px; padding: 24px; }
	.pump-web-type-card h3 { margin-top: 92px; font-size: 30px; }
	.pump-web-inline-cta { align-items: stretch; flex-direction: column; }
	.pump-web-tool-grid { gap: 44px; }
	.pump-web-tool-copy h2 { font-size: 34px; line-height: 1.04; }
	.pump-web-tool-copy > p:last-child { font-size: 17px; }
	.pump-web-outcomes { grid-template-columns: 1fr; }
	.pump-web-outcomes > article { min-height: 0; padding: 22px; }
	.pump-web-outcomes span { margin-bottom: 22px; }
	.pump-web-outcomes p { font-size: 13px; }
	.pump-web-rise-arrow-2,
	.pump-web-rise-arrow-4,
	.pump-web-rise-arrow-8 { display: none; }
	.pump-web-case-carousel { padding-top: 4px; padding-bottom: 72px; }
	.pump-web-case-carousel .tt-portfolio-carousel-item { margin-right: 18px; margin-left: 18px; }
	.pump-web-case-carousel .tt-pci-image img { aspect-ratio: 4 / 3; }
	.pump-web-case-carousel .tt-pci-title { max-width: calc(100% - 42px); font-size: 24px; }
	.pump-web-case-carousel .tt-pci-category { font-size: 10px; }
	.pump-web-case-carousel .tt-pci-nav-prev { right: auto; left: 18px; }
	.pump-web-case-carousel .tt-pci-nav-next { right: 18px; }
	.pump-web-case-carousel .tt-pci-nav-arrow { width: 42px; height: 42px; }
	.pump-web-case-carousel .tt-pci-pagination { bottom: 12px; }
	.pump-web-cases-copy { gap: 14px; }
	.pump-web-cases-copy .tt-btn { width: 100%; }
	.pump-web-project-wide .pump-web-project-media img,
	.pump-web-project-media img { aspect-ratio: 16 / 10; }
	.pump-web-project-info { grid-template-columns: 1fr; padding-bottom: 30px; }
	.pump-web-project-info ul { max-width: none; justify-content: flex-start; }
	.pump-web-project-info h3 { font-size: 24px; }
	.pump-web-delivery-grid { grid-template-columns: 1fr; }
	.pump-web-delivery-grid article { min-height: 280px; padding: 24px; }
	.pump-web-delivery-grid h3 { margin-top: 70px; }
	.pump-web-section.pump-web-cases-section { padding-bottom: 38px; }
	.pump-web-section.pump-web-capabilities-section { padding-top: 44px; }
	.pump-web-capabilities-marquee { --capability-gap: 7px; gap: 8px; margin-right: -20px; margin-left: -20px; width: calc(100% + 40px); }
	.pump-web-capability-tag { min-height: 32px; padding: 8px 11px; font-size: 11px; }
	.pump-web-capability-tag.is-small { min-height: 28px; padding: 6px 9px; font-size: 10px; }
	.pump-web-capability-tag.is-medium { min-height: 36px; padding: 9px 13px; font-size: 12px; }
	.pump-web-capability-tag.is-large { min-height: 40px; padding: 10px 15px; font-size: 13px; }
	.pump-web-capabilities-copy { gap: 14px; }
	.pump-web-capabilities-copy p { font-size: 16px; }
	.pump-web-capabilities-link { font-size: 14px; }
	.pump-web-process-heading { margin-bottom: 30px; }
	.pump-web-process-heading h2 { font-size: clamp(40px, 12vw, 56px); }
	.pump-web-process-heading > p { font-size: 15px; }
	.pump-web-process-shell { padding: 0; }
	.pump-web-process { grid-template-columns: 1fr; gap: 12px; }
	.pump-web-process li,
	.pump-web-process li:nth-child(2),
	.pump-web-process li:nth-child(5),
	.pump-web-process li:hover,
	.pump-web-process li:nth-child(2):hover,
	.pump-web-process li:nth-child(5):hover { min-height: 0; padding: 20px 16px 22px 64px; border: 0; transform: none; }
	.pump-web-process li > span { top: 18px; left: 14px; width: 34px; height: 34px; }
	.pump-web-process h3 { font-size: 22px; }
	.pump-web-process p { margin-top: 12px; font-size: 13px; }
	.pump-web-process-note { margin-top: 24px; }
	.pump-web-faq-columns { grid-template-columns: 1fr; gap: 0; }
	.pump-web-pricing-grid { grid-template-columns: 1fr; }
	.pump-web-price-card { min-height: auto; padding: 24px; }
	.pump-web-price-head { min-height: 330px; }
	.pump-web-reasons { grid-template-columns: 1fr; }
	.pump-web-reasons article { min-height: 210px; }
	.pump-web-support-panel { gap: 44px; padding: 28px; box-shadow: 6px 6px 0 var(--tt-text-color); }
	.pump-web-support-panel ul { grid-template-columns: 1fr; }
	.pump-web-support-panel p:not(.pump-web-eyebrow) { font-size: 17px; }
	.pump-web-estimate-grid { gap: 46px; }
	.pump-web-estimate-form { padding: 24px; }
	.pump-web-form-row { grid-template-columns: 1fr; gap: 0; }
}

@media (max-width: 390px) {
	.pump-web-hero-title { font-size: 38px; }
	.pump-web-heading h2,
	.pump-web-tool h2,
	.pump-web-support h2,
	.pump-web-estimate h2 { font-size: 36px; }
	.pump-web-tool-copy h2 { font-size: 32px; }
	.pump-web-hero-visual { min-height: 370px; }
	.pump-web-browser-side { width: 68%; }
	.pump-web-hero-metric { min-width: 170px; }
	.pump-web-price-head h3 { font-size: 31px; }
	.pump-web-price-head strong { font-size: 46px; }
}

/* ------------------------------------------------------------- *
 * Investors page
/* ------------------------------------------------------------- */

.pump-invest-hero {
	position: relative;
	overflow: hidden;
	padding-top: clamp(160px, 14vw, 210px) !important;
	padding-bottom: clamp(42px, 4vw, 62px) !important;
}

.pump-invest-about-offer {
	padding-top: clamp(58px, 7vw, 108px) !important;
	padding-bottom: clamp(34px, 4vw, 58px) !important;
}

.pump-invest-about-offer .tt-heading-title {
	font-size: clamp(34px, 4.1vw, 60px) !important;
	line-height: .98 !important;
}

.pump-invest-faq-section .tt-heading-title {
	font-size: clamp(42px, 5.4vw, 84px) !important;
	line-height: .94 !important;
}

.pump-invest-faq-section .tt-heading-text {
	max-width: 520px;
	margin-top: 22px;
	font-size: clamp(14px, .95vw, 17px);
	line-height: 1.38;
	opacity: .68;
}

.pump-invest-faq-section .tt-row {
	align-items: flex-start;
}

.pump-invest-faq-accordion .tt-accordion-item {
	margin-bottom: 12px;
	border-radius: 18px;
}

.pump-invest-faq-accordion .tt-accordion-heading {
	min-height: 82px;
}

.pump-invest-faq-accordion .tt-acc-head-title {
	font-size: clamp(20px, 1.85vw, 30px);
	line-height: 1.04;
}

.pump-invest-faq-accordion .tt-accordion-content {
	padding-top: 0;
}

.pump-invest-faq-accordion .tt-accordion-content p {
	max-width: 860px;
	font-size: clamp(13px, .9vw, 16px);
	line-height: 1.4;
	opacity: .72;
}

.pump-invest-offer-text {
	max-width: 1120px;
}

.pump-invest-offer-text p {
	margin-bottom: clamp(16px, 1.6vw, 24px);
	font-size: clamp(18px, 1.35vw, 23px);
	line-height: 1.42;
	color: color-mix(in srgb, var(--tt-text-color) 78%, transparent);
}

.pump-invest-offer-text p:last-child {
	margin-bottom: 0;
}

.pump-invest-about-offer + .pump-invest-benefits-section {
	margin-top: 0;
	padding-top: clamp(28px, 3.4vw, 50px) !important;
	padding-bottom: clamp(70px, 8vw, 120px) !important;
}

.pump-invest-directions-section .tt-heading {
	max-width: 980px;
}

.pump-invest-directions-section .tt-heading-title {
	max-width: 980px;
	font-size: clamp(34px, 4vw, 60px) !important;
	line-height: 1.02 !important;
	letter-spacing: -.045em;
}

.pump-invest-directions-section .tt-heading-text {
	max-width: 860px;
	margin-top: 22px;
	font-size: clamp(14px, 1vw, 17px);
	line-height: 1.52;
	opacity: .72;
}

.pump-invest-directions-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 28px);
}

.pump-invest-direction-card {
	min-height: 360px;
	padding: clamp(22px, 2.1vw, 30px);
}

.pump-invest-direction-card h3 {
	margin-bottom: 18px;
	font-size: clamp(22px, 1.8vw, 30px);
}

.pump-invest-direction-card ul {
	position: relative;
	z-index: 1;
	margin: 0 0 20px;
	padding-left: 18px;
	font-size: clamp(12px, .82vw, 14px);
	line-height: 1.5;
	opacity: .78;
}

.pump-invest-direction-card li {
	margin-bottom: 8px;
}

.pump-invest-direction-card p {
	max-width: none;
	margin-top: auto;
	font-size: clamp(11px, .76vw, 13px);
	font-weight: 700;
	opacity: .72;
}

.pump-invest-direction-card p strong {
	font-weight: 900;
}

.pump-invest-final-cta-section {
	position: relative;
}

.pump-invest-partner-final {
	position: relative;
	text-align: left;
	overflow: hidden;
}

.pump-invest-partner-final::before {
	content: "";
	position: absolute;
	right: -80px;
	top: -80px;
	width: clamp(180px, 22vw, 360px);
	height: clamp(180px, 22vw, 360px);
	border-radius: 50%;
	background: color-mix(in srgb, var(--tt-text-color) 7%, transparent);
	filter: blur(1px);
	opacity: .55;
	pointer-events: none;
}

.pump-invest-final-label {
	position: relative;
	display: inline-flex;
	margin-bottom: clamp(22px, 2vw, 34px);
	padding: 8px 14px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	border-radius: 999px;
	background: rgb(255 255 255 / .055);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .03em;
	z-index: 1;
}

.pump-invest-partner-final h2,
.pump-invest-partner-final p,
.pump-invest-partner-final .tt-btn,
.pump-invest-partner-final small {
	position: relative;
	z-index: 1;
}

.pump-invest-partner-final h2 {
	max-width: 920px;
}

.pump-invest-partner-final p {
	margin-right: 0;
	margin-left: 0;
}

.pump-invest-partner-final p + p {
	margin-top: -14px;
}

.pump-jobs-note.pump-invest-partner-final p + p {
	margin-top: 0;
}

.pump-invest-partner-final .tt-btn {
	margin-top: 8px;
}

.pump-invest-partner-final small {
	max-width: 780px;
	margin: 28px 0 0;
	text-align: left;
}

.pump-invest-benefits-section .pump-benefit-card p {
	font-size: clamp(14px, .94vw, 17px);
	line-height: 1.42;
}

.pump-invest-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(115deg, color-mix(in srgb, var(--tt-text-color) 3%, transparent), transparent 42%),
		radial-gradient(circle at 12% 12%, color-mix(in srgb, var(--tt-text-color) 6%, transparent), transparent 34%);
	opacity: .65;
}

.pump-invest-hero-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(300px, .72fr);
	gap: clamp(28px, 4vw, 70px);
	align-items: center;
}

.pump-invest-hero .tt-heading-title {
	max-width: 860px;
	font-size: clamp(38px, 4vw, 66px) !important;
	line-height: .96 !important;
	letter-spacing: -.045em !important;
}

.pump-invest-hero .pump-page-lead {
	max-width: 780px;
	margin-bottom: clamp(28px, 3vw, 42px);
	font-size: clamp(18px, 1.35vw, 23px);
	line-height: 1.42;
}

.pump-invest-audience .tt-heading-title,
.pump-venture-core .tt-heading-title,
.pump-venture-scenarios .tt-heading-title,
.pump-venture-why .tt-heading-title,
.pump-invest-dark-zone .tt-heading-title,
.pump-invest-compare-section .tt-heading-title,
.pump-invest-focus .tt-heading-title,
.pump-invest-process .tt-heading-title,
.pump-invest-format-zone .tt-heading-title,
.pump-invest-need .tt-heading-title {
	max-width: 1120px;
	font-size: clamp(38px, 5vw, 76px) !important;
	line-height: .98 !important;
	letter-spacing: -.045em;
}

.pump-invest-kicker {
	margin-bottom: 18px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
	opacity: .62;
}

.pump-invest-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 28px 0 30px;
}

.pump-invest-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.pump-invest-hero-media {
	position: relative;
}

.pump-invest-hero-media .tt-split-box {
	margin: 0;
}

.pump-invest-hero-media .tt-split-box-image {
	min-height: clamp(380px, 42vw, 620px);
}

.pump-invest-hero-media .tt-split-box-image-inner img {
	width: 100%;
	height: 100%;
	object-fit: cover !important;
}

.pump-invest-tags span,
.pump-invest-niche-card span {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 6px 13px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-bg-color) 68%, transparent);
	backdrop-filter: blur(12px);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.pump-invest-model,
.pump-invest-side-card,
.pump-invest-value-card,
.pump-invest-niche-card,
.pump-invest-step,
.pump-invest-format-card,
.pump-invest-final {
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-bg-color) 88%, transparent), color-mix(in srgb, var(--tt-text-color) 5%, transparent));
	box-shadow: 8px 8px 0 color-mix(in srgb, var(--tt-text-color) 12%, transparent);
}

.pump-invest-model {
	padding: clamp(26px, 3vw, 42px);
	border-radius: 30px;
	transform: rotate(-1.2deg);
}

.pump-venture-visual {
	position: relative;
	display: grid;
	gap: 18px;
	justify-items: center;
	padding: clamp(28px, 4vw, 56px);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 15%, transparent);
	border-radius: 34px;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-bg-color) 88%, transparent), color-mix(in srgb, var(--tt-text-color) 5%, transparent));
	box-shadow: 10px 10px 0 color-mix(in srgb, var(--tt-text-color) 10%, transparent);
	overflow: hidden;
}

.pump-venture-visual::before {
	content: "";
	position: absolute;
	inset: 16px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 7%, transparent);
	border-radius: 28px;
	pointer-events: none;
}

.pump-venture-node {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: min(100%, 360px);
	min-height: 82px;
	padding: 18px 22px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 24px;
	background: color-mix(in srgb, var(--tt-bg-color) 78%, transparent);
	text-align: center;
	backdrop-filter: blur(12px);
}

.pump-venture-node-core {
	min-height: 124px;
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
	box-shadow: 0 18px 60px color-mix(in srgb, var(--tt-text-color) 18%, transparent);
}

.pump-venture-node strong {
	display: block;
	font-size: clamp(26px, 3vw, 44px);
	line-height: .94;
}

.pump-venture-node span {
	display: block;
	font-size: clamp(14px, 1.2vw, 18px);
	font-weight: 800;
	letter-spacing: .03em;
}

.pump-venture-node-core span {
	margin-top: 10px;
	font-size: 13px;
	text-transform: uppercase;
	opacity: .74;
}

.pump-venture-arrow {
	position: relative;
	z-index: 1;
	width: 1px;
	height: 38px;
	background: color-mix(in srgb, var(--tt-text-color) 32%, transparent);
}

.pump-venture-arrow::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -1px;
	width: 9px;
	height: 9px;
	border-right: 1px solid color-mix(in srgb, var(--tt-text-color) 42%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 42%, transparent);
	transform: translateX(-50%) rotate(45deg);
}

.pump-venture-visual-premium {
	min-height: clamp(430px, 44vw, 560px);
	display: block;
	isolation: isolate;
}

.pump-venture-visual-premium::before {
	inset: 24px;
	background:
		linear-gradient(color-mix(in srgb, var(--tt-text-color) 6%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, var(--tt-text-color) 6%, transparent) 1px, transparent 1px);
	background-size: 34px 34px;
}

.pump-venture-orbit {
	position: absolute;
	inset: 16%;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 10%, transparent);
	border-radius: 999px;
	transform: rotate(-12deg);
	opacity: .7;
}

.pump-venture-orbit::before,
.pump-venture-orbit::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	background: var(--tt-text-color);
}

.pump-venture-orbit::before {
	top: 12%;
	right: 10%;
	width: 10px;
	height: 10px;
}

.pump-venture-orbit::after {
	left: 13%;
	bottom: 16%;
	width: 6px;
	height: 6px;
	opacity: .55;
}

.pump-venture-panel {
	position: absolute;
	z-index: 1;
	width: min(62%, 300px);
	padding: 18px 20px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 16%, transparent);
	border-radius: 24px;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-bg-color) 82%, transparent), color-mix(in srgb, var(--tt-text-color) 7%, transparent));
	box-shadow:
		0 26px 60px color-mix(in srgb, var(--tt-text-color) 10%, transparent),
		inset 0 1px 0 color-mix(in srgb, #fff 22%, transparent);
	backdrop-filter: blur(16px);
}

.pump-venture-panel span {
	display: inline-flex;
	margin-bottom: 14px;
	padding: 4px 9px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .08em;
}

.pump-venture-panel strong {
	display: block;
	font-size: clamp(22px, 2vw, 34px);
	line-height: .98;
}

.pump-venture-panel small {
	display: block;
	margin-top: 9px;
	color: color-mix(in srgb, var(--tt-text-color) 64%, transparent);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.pump-venture-panel-core {
	top: 50%;
	left: 50%;
	width: min(74%, 380px);
	padding: 28px;
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
	transform: translate(-50%, -50%) rotate(-1deg);
}

.pump-venture-panel-core small {
	color: color-mix(in srgb, var(--tt-bg-color) 72%, transparent);
}

.pump-venture-panel-idea {
	top: 28px;
	left: 28px;
	transform: rotate(-3deg);
}

.pump-venture-panel-launch {
	right: 28px;
	bottom: 84px;
	transform: rotate(2deg);
}

.pump-venture-panel-scale {
	left: 54px;
	bottom: 28px;
	transform: rotate(2deg);
}

.pump-invest-model h2,
.pump-invest-side-card h3,
.pump-invest-value-card h3,
.pump-invest-niche-card h3,
.pump-invest-step h3,
.pump-invest-format-card h3 {
	margin-bottom: 12px;
	font-size: clamp(24px, 2.2vw, 34px);
	line-height: 1.04;
}

.pump-invest-model p,
.pump-invest-copy p,
.pump-invest-side-card li,
.pump-invest-value-card p,
.pump-invest-niche-card p,
.pump-invest-step p,
.pump-invest-format-card li,
.pump-invest-final p,
.pump-invest-section-lead,
.pump-invest-center-note {
	color: color-mix(in srgb, var(--tt-text-color) 72%, transparent);
}

.pump-invest-model-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 24px 0;
}

.pump-invest-flow {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin: 26px 0;
}

.pump-invest-flow span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 8px 13px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-text-color) 5%, transparent);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .02em;
}

.pump-invest-flow i {
	width: 18px;
	height: 1px;
	background: color-mix(in srgb, var(--tt-text-color) 36%, transparent);
}

.pump-invest-model-grid div {
	padding: 16px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 12%, transparent);
	border-radius: 16px;
	background: color-mix(in srgb, var(--tt-text-color) 4%, transparent);
}

.pump-invest-model-grid span {
	display: block;
	margin-bottom: 7px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	opacity: .58;
}

.pump-invest-model-grid strong {
	display: block;
	font-size: 17px;
	line-height: 1.12;
}

.pump-invest-note {
	margin-bottom: 0;
	font-size: 15px;
}

.pump-invest-image-ribbon {
	display: grid;
	grid-template-columns: 1fr;
	height: clamp(110px, 14vw, 190px);
	overflow: hidden;
	border-top: 1px solid color-mix(in srgb, var(--tt-text-color) 12%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 12%, transparent);
}

.pump-invest-image-ribbon div {
	min-height: 50%;
	background-position: center;
	background-size: cover;
	filter: grayscale(1) contrast(.95);
	opacity: .5;
}

.pump-invest-image-ribbon div + div {
	transform: scaleX(-1);
}

.pump-invest-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(310px, 420px);
	gap: clamp(30px, 5vw, 76px);
	align-items: start;
}

.pump-invest-copy p {
	max-width: 820px;
	font-size: clamp(18px, 1.4vw, 24px);
	line-height: 1.45;
}

.pump-invest-side-card {
	padding: clamp(24px, 3vw, 36px);
	border-radius: 26px;
}

.pump-invest-side-card ul,
.pump-invest-format-card ul {
	margin: 0 0 26px;
	padding-left: 19px;
}

.pump-invest-side-card li,
.pump-invest-format-card li {
	margin-bottom: 10px;
}

.pump-invest-value-grid,
.pump-invest-niche-grid,
.pump-invest-roadmap,
.pump-invest-format-grid {
	display: grid;
	gap: 22px;
}

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

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

.pump-invest-value-card,
.pump-invest-niche-card,
.pump-invest-step,
.pump-invest-format-card {
	position: relative;
	padding: clamp(24px, 3vw, 36px);
	border-radius: 26px;
	overflow: hidden;
}

.pump-invest-value-card i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-bottom: 22px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 18%, transparent);
	border-radius: 50%;
	background: color-mix(in srgb, var(--tt-text-color) 7%, transparent);
}

.pump-invest-compare {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(22px, 3vw, 36px);
}

.pump-invest-compare-card,
.pump-invest-need {
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 30px;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-bg-color) 90%, transparent), color-mix(in srgb, var(--tt-text-color) 5%, transparent));
	box-shadow: 8px 8px 0 color-mix(in srgb, var(--tt-text-color) 12%, transparent);
	padding: clamp(28px, 4vw, 52px);
}

.pump-invest-compare-card-featured {
	border-color: color-mix(in srgb, var(--tt-text-color) 34%, transparent);
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-bg-color) 82%, transparent), color-mix(in srgb, var(--tt-text-color) 8%, transparent));
}

.pump-invest-compare-card h3,
.pump-invest-need h2 {
	margin-bottom: 24px;
	font-size: clamp(30px, 3vw, 52px);
	line-height: .98;
}

.pump-invest-compare-card ul,
.pump-invest-need ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pump-invest-compare-card li,
.pump-invest-need li {
	position: relative;
	margin-bottom: 14px;
	padding-left: 28px;
	color: color-mix(in srgb, var(--tt-text-color) 74%, transparent);
	font-size: clamp(16px, 1.15vw, 19px);
	line-height: 1.38;
}

.pump-invest-compare-card li::before,
.pump-invest-need li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .52em;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--tt-text-color);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--tt-text-color) 10%, transparent);
}

.pump-invest-dark-zone,
.pump-invest-format-zone {
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--tt-text-color) 7%, transparent), color-mix(in srgb, var(--tt-bg-color) 92%, transparent));
	border-top: 1px solid color-mix(in srgb, var(--tt-text-color) 9%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 9%, transparent);
}

.pump-invest-solid-zone {
	background-color: color-mix(in srgb, var(--tt-text-color) 5%, var(--tt-bg-color));
}

.pump-invest-scroll-divider {
	position: relative;
	overflow: hidden;
	padding: clamp(34px, 5vw, 62px) 0;
	background: var(--tt-bg-color);
	border-top: 1px solid color-mix(in srgb, var(--tt-text-color) 10%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 10%, transparent);
}

.pump-invest-scroll-divider .tt-scrolling-text + .tt-scrolling-text {
	margin-top: 18px;
}

.pump-invest-section-lead {
	max-width: 860px;
	margin-top: 18px;
	font-size: clamp(17px, 1.25vw, 21px);
	line-height: 1.45;
}

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

.pump-invest-niche-card {
	min-height: 250px;
}

.pump-invest-niche-grid-compact .pump-invest-niche-card {
	min-height: 150px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.pump-invest-niche-grid-compact .pump-invest-niche-card h3 {
	margin-bottom: 0;
	font-size: clamp(22px, 1.9vw, 30px);
}

.pump-invest-niche-card span {
	margin-bottom: 22px;
}

.pump-invest-niche-card small {
	display: block;
	margin-top: 18px;
	font-size: 13px;
	line-height: 1.35;
	opacity: .64;
}

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

.pump-invest-roadmap-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pump-invest-step span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin-bottom: 22px;
	border-radius: 50%;
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
	font-size: 12px;
	font-weight: 900;
}

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

.pump-venture-bullets {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	max-width: 1040px;
}

.pump-venture-bullets span {
	display: flex;
	align-items: center;
	min-height: 62px;
	padding: 16px 20px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-text-color) 4%, transparent);
	font-size: clamp(16px, 1.2vw, 20px);
	font-weight: 800;
	line-height: 1.18;
}

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

.pump-invest-format-card p {
	margin-bottom: 0;
	color: color-mix(in srgb, var(--tt-text-color) 72%, transparent);
	font-size: clamp(17px, 1.2vw, 20px);
	line-height: 1.4;
}

.pump-invest-proof-list .tt-tli-inner {
	min-height: 190px;
	display: flex;
	align-items: center;
}

.pump-invest-proof-list cite {
	font-size: clamp(20px, 1.7vw, 28px);
	line-height: 1.28;
}

.pump-invest-mid-cta {
	display: flex;
	gap: 22px;
	align-items: center;
	justify-content: space-between;
	margin-top: 42px;
	padding: clamp(24px, 3vw, 38px);
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 12%, transparent);
	border-radius: 28px;
	background: color-mix(in srgb, var(--tt-text-color) 5%, transparent);
}

.pump-invest-mid-cta p {
	max-width: 860px;
	margin: 0;
	color: color-mix(in srgb, var(--tt-text-color) 76%, transparent);
	font-size: clamp(17px, 1.25vw, 21px);
	line-height: 1.42;
}

.pump-invest-center-note {
	max-width: 980px;
	margin: 32px auto 0;
	text-align: center;
}

.pump-invest-final {
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(34px, 5vw, 74px);
	border-radius: 34px;
	text-align: center;
}

.pump-invest-final h2 {
	margin-bottom: 20px;
	font-size: clamp(40px, 5vw, 86px);
	line-height: .96;
}

.pump-invest-final p {
	max-width: 850px;
	margin: 0 auto 34px;
	font-size: clamp(18px, 1.35vw, 22px);
	line-height: 1.45;
}

.pump-invest-final small {
	display: block;
	max-width: 860px;
	margin: 32px auto 0;
	color: color-mix(in srgb, var(--tt-text-color) 58%, transparent);
	font-size: 14px;
	line-height: 1.45;
}

.pump-invest-need {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1fr);
	gap: clamp(26px, 4vw, 58px);
	align-items: start;
}

.pump-invest-need p {
	margin-bottom: 0;
	color: color-mix(in srgb, var(--tt-text-color) 70%, transparent);
	font-size: clamp(17px, 1.2vw, 20px);
	line-height: 1.45;
}

.pump-invest-need-note {
	grid-column: 1 / -1;
	padding-top: 26px;
	border-top: 1px solid color-mix(in srgb, var(--tt-text-color) 12%, transparent);
}

body.tt-dark-mode-on .pump-invest-model,
body.tt-dark-mode-on .pump-venture-visual,
body.tt-dark-mode-on .pump-invest-side-card,
body.tt-dark-mode-on .pump-invest-value-card,
body.tt-dark-mode-on .pump-invest-niche-card,
body.tt-dark-mode-on .pump-invest-step,
body.tt-dark-mode-on .pump-invest-format-card,
body.tt-dark-mode-on .pump-invest-final,
body.tt-dark-mode-on .pump-invest-compare-card,
body.tt-dark-mode-on .pump-invest-need {
	box-shadow: 8px 8px 0 color-mix(in srgb, #fff 9%, transparent);
}

@media (max-width: 1024px) {
	.pump-invest-hero-grid,
	.pump-invest-split,
	.pump-invest-value-grid,
	.pump-invest-value-grid-4,
	.pump-invest-compare,
	.pump-venture-bullets,
	.pump-invest-niche-grid,
	.pump-invest-directions-grid,
	.pump-invest-roadmap,
	.pump-invest-roadmap-5,
	.pump-invest-format-grid,
	.pump-invest-format-grid-3,
	.pump-invest-need {
		grid-template-columns: 1fr;
	}

	.pump-invest-model {
		transform: none;
	}

	.pump-venture-visual {
		margin-top: 10px;
	}

	.pump-invest-hero-media {
		margin-top: 18px;
	}

	.pump-invest-hero-media .tt-split-box-image {
		min-height: clamp(280px, 78vw, 430px);
	}

	.pump-venture-visual-premium {
		min-height: auto;
		display: grid;
		gap: 14px;
	}

	.pump-venture-orbit {
		display: none;
	}

	.pump-venture-panel,
	.pump-venture-panel-core,
	.pump-venture-panel-idea,
	.pump-venture-panel-launch,
	.pump-venture-panel-scale {
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		width: 100%;
		transform: none;
	}

	.pump-invest-niche-card {
		min-height: auto;
	}

	.pump-invest-direction-card {
		min-height: auto;
	}

	.pump-invest-mid-cta {
		display: block;
	}

	.pump-invest-mid-cta .tt-btn {
		margin-top: 24px;
	}
}

@media (max-width: 540px) {
	#tt-page-content > .tt-section.pump-invest-hero:first-child {
		padding-top: clamp(155px, 36vw, 190px) !important;
	}

	.pump-invest-hero .tt-heading-title {
		font-size: clamp(30px, 9.2vw, 40px) !important;
		line-height: 1.02 !important;
		letter-spacing: -.035em !important;
	}

	.pump-invest-model-grid {
		grid-template-columns: 1fr;
	}

	.pump-invest-hero-actions {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	.pump-invest-hero-actions .pump-invest-cta {
		flex: 1 1 100%;
		min-width: 0;
		justify-content: center;
	}

	.pump-invest-secondary-cta {
		display: none !important;
	}

	.pump-invest-hero-actions .tt-btn span {
		font-size: 13px;
		white-space: nowrap;
	}

	.pump-invest-hero-actions .tt-btn-icon {
		margin-left: 8px;
	}

	.pump-invest-flow i {
		display: none;
	}

	.pump-venture-node {
		min-height: 72px;
	}

	.pump-invest-tags span {
		font-size: 11px;
	}

	.pump-invest-model,
	.pump-invest-side-card,
	.pump-invest-value-card,
	.pump-invest-niche-card,
	.pump-invest-step,
	.pump-invest-format-card,
	.pump-invest-final,
	.pump-invest-compare-card,
	.pump-invest-need {
		border-radius: 22px;
		box-shadow: 6px 6px 0 color-mix(in srgb, var(--tt-text-color) 12%, transparent);
	}
}


/* ------------------------------------------------------------- *
 * Footer
/* ------------------------------------------------------------- */

#tt-footer {
	position: relative;
	width: 100%;
	padding: 72px 0 60px 0;
	font-size: 19px;
	z-index: 2;
}
@media (max-width: 1024px) {
	#tt-footer {
		padding: 60px 0;
	}
}
.tt-footer-inner:not(.tt-wrap) {
	padding-left: 3vw;
	padding-right: 3vw;
	margin-left: auto;
	margin-right: auto;
}


/* Footer widget
================= */
.tt-footer-widget {
	position: relative;
	margin-bottom: 40px;
}
.tt-footer-widget a:not(.tt-btn) {
	color: var(--tt-text-color);
}
.tt-footer-widget-heading {
	margin-bottom: 30px;
	font-size: clamp(26px, 2vw, 32px);
	font-weight: bold;
	font-weight: 600;
	color: var(--tt-text-color);
}
.tt-footer-widget-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.tt-footer-widget-list li {
	margin-bottom: 8px;
	font-size: 90%;
}

/* Footer project actions */
#tt-footer .tt-footer-inner > .tt-row > :first-child .tt-footer-widget > .tt-btn,
#tt-footer .tt-footer-inner > .tt-row > :first-child .tt-footer-widget > .tt-magnetic-btn {
	width: min(100%, 290px);
}
#tt-footer .tt-footer-inner > .tt-row > :first-child .tt-footer-widget > .tt-btn {
	display: flex;
	margin-left: 3px;
	margin-right: 3px;
	justify-content: center;
}
#tt-footer .tt-footer-inner > .tt-row > :first-child .tt-footer-widget > .tt-magnetic-btn {
	display: block;
	margin-left: 3px;
	margin-right: 3px;
}
#tt-footer .tt-footer-inner > .tt-row > :first-child .tt-footer-widget > .tt-magnetic-btn .tt-btn {
	display: flex;
	width: 100%;
	justify-content: center;
}
#tt-footer .tt-footer-inner > .tt-row > :first-child .tt-footer-widget > .tt-magnetic-btn + .tt-magnetic-btn {
	margin-top: 2px;
}
#tt-footer .pump-footer-calculator-button {
	height: 49px;
	margin-top: 2px !important;
	font-size: 15px;
}
#tt-footer .pump-footer-calculator-button .tt-btn-icon {
	font-size: 112%;
}

@media (max-width: 767px) {
	#tt-footer .tt-footer-inner > .tt-row > :first-child .tt-footer-widget > .tt-btn,
	#tt-footer .tt-footer-inner > .tt-row > :first-child .tt-footer-widget > .tt-magnetic-btn {
		width: min(100%, 272px);
	}

	#tt-footer .tt-footer-inner > .tt-row > :first-child .tt-footer-widget .tt-btn {
		padding-inline: 18px;
		font-size: clamp(12px, 3.55vw, 14px);
	}

	#tt-footer .tt-footer-inner > .tt-row > :first-child .tt-footer-widget .tt-btn-inner > span:not(.tt-btn-icon) {
		white-space: nowrap;
	}

	#tt-footer .pump-footer-calculator-button {
		height: 47px;
		font-size: clamp(12px, 3.55vw, 14px);
	}
}


/* Footer bottom
================= */
.tt-footer-bottom {
	font-size: 16px;
	font-weight: normal;
}
.tt-footer-bottom [class^="tt-col-"] {
	display: flex;
}

.tt-footer-bottom .tt-footer-widget {
	margin: 30px 0 0 0;
}

/* Footer copyright */
.tt-footer-copyright {
}
.tt-copyright-year {
	margin: 0 4px;
}


/* ------------------------------------------------------------- *
 * Scroll to top button
/* ------------------------------------------------------------- */

.tt-scroll-to-top {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 998;
	opacity: 0;
	visibility: hidden;
	transform: scale(0.5);
	transition: transform .3s, opacity .3s, visibility .3s;
}
@media (max-width: 1400px) {
	.tt-scroll-to-top {
		right: 15px;
		bottom: 15px;
	}
}
.tt-scroll-to-top.tt-stt-active {
	opacity: 1;
	visibility: visible;
	transform: scale(1);
}

.tt-stt-inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	align-items: center;
	width: 70px;
	height: 70px;
	background-color: var(--tt-dark-color);
	text-decoration: none;
	border-radius: 100px;
}
@media (max-width: 1024px) {
	.tt-stt-inner {
		width: 50px;
		height: 50px;
	}
}

/* Scroll to top button arrow */
.tt-stt-arrow {
	height: 40%;
	width: 40%;
}
.tt-stt-arrow svg {
	height: 100%;
	width: 100%;
	fill: var(--tt-light-color);
	transform: rotate(-90deg);
}

@media (max-width: 768px) {
	#tt-page-content > .tt-section.pump-invest-hero:first-child {
		padding-top: clamp(145px, 34vw, 185px) !important;
	}

	.pump-invest-secondary-cta {
		display: none !important;
	}
}

/* About: business pains diagnostic */
.pump-pains-stage {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
	gap: clamp(34px, 5vw, 86px);
	align-items: stretch;
}

.pump-pains-diagnostic {
	display: flex;
	flex-direction: column;
	border-top: 1px solid color-mix(in srgb, var(--tt-text-color) 24%, transparent);
}

.pump-pain-row {
	position: relative;
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) 14px;
	gap: clamp(14px, 1.8vw, 28px);
	align-items: center;
	min-height: 132px;
	padding: 22px 4px;
	border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 24%, transparent);
	outline: none;
	cursor: default;
	transition: padding .45s ease, background-color .45s ease;
}

.pump-pain-row::before {
	content: "";
	position: absolute;
	inset: 9px 0;
	z-index: -1;
	border-radius: 8px;
	background: color-mix(in srgb, var(--tt-text-color) 7%, transparent);
	opacity: 0;
	transform: scaleX(.96);
	transition: opacity .35s ease, transform .45s ease;
}

.pump-pain-row:hover,
.pump-pain-row:focus {
	padding-right: 16px;
	padding-left: 16px;
}

.pump-pain-row:hover::before,
.pump-pain-row:focus::before {
	opacity: 1;
	transform: scaleX(1);
}

.pump-pain-index {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 30%, transparent);
	border-radius: 50%;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	transition: color .35s ease, background-color .35s ease, transform .45s ease;
}

.pump-pain-row:hover .pump-pain-index,
.pump-pain-row:focus .pump-pain-index {
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
	transform: rotate(-10deg);
}

.pump-pain-copy h3 {
	margin: 0 0 9px;
	font-size: clamp(21px, 1.55vw, 29px);
	line-height: 1.08;
}

.pump-pain-copy p {
	max-width: 660px;
	margin: 0;
	color: color-mix(in srgb, var(--tt-text-color) 64%, transparent);
	font-size: clamp(14px, .92vw, 17px);
	line-height: 1.43;
}

.pump-pain-row-dot {
	position: relative;
	display: block;
	width: 10px;
	height: 10px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 52%, transparent);
	border-radius: 50%;
	transition: background-color .35s ease, box-shadow .35s ease, transform .45s ease;
}

.pump-pain-row:hover .pump-pain-row-dot,
.pump-pain-row:focus .pump-pain-row-dot {
	background: var(--tt-text-color);
	box-shadow: 0 0 0 7px color-mix(in srgb, var(--tt-text-color) 10%, transparent);
	transform: scale(.72);
}

.pump-system-diagram {
	position: relative;
	min-height: 570px;
	border: 1px solid color-mix(in srgb, var(--tt-bg-color) 16%, transparent);
	border-radius: 28px;
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
	box-shadow: 12px 12px 0 color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	overflow: hidden;
	outline: none;
	isolation: isolate;
}

.pump-system-diagram::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--tt-bg-color) 8%, transparent) 1px, transparent 1px),
		linear-gradient(color-mix(in srgb, var(--tt-bg-color) 8%, transparent) 1px, transparent 1px);
	background-size: 34px 34px;
	mask-image: linear-gradient(105deg, #000 20%, transparent 92%);
	opacity: .6;
}

.pump-system-topline {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 16px;
	align-items: center;
	padding: 24px 26px 0;
	color: color-mix(in srgb, var(--tt-bg-color) 62%, transparent);
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
}

.pump-system-topline i {
	height: 1px;
	background: color-mix(in srgb, var(--tt-bg-color) 20%, transparent);
}

.pump-system-field {
	position: relative;
	height: 470px;
}

.pump-system-orbit {
	position: absolute;
	top: 16%;
	left: 4%;
	width: 40%;
	height: 62%;
	border: 1px dashed color-mix(in srgb, var(--tt-bg-color) 22%, transparent);
	border-radius: 47% 53% 41% 59%;
	transform: rotate(-12deg);
	animation: pumpChaosOrbit 11s linear infinite;
	transition: opacity .6s ease, transform .8s ease;
}

.pump-system-chip {
	position: absolute;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 72px;
	height: 34px;
	padding: 0 12px;
	border: 1px solid color-mix(in srgb, var(--tt-bg-color) 28%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--tt-bg-color) 9%, transparent);
	color: color-mix(in srgb, var(--tt-bg-color) 76%, transparent);
	font-size: 10px;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
	transition: top .8s cubic-bezier(.2,.8,.2,1), left .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1), color .45s ease, background-color .45s ease, border-color .45s ease, box-shadow .45s ease;
}

.pump-system-chip-idea { top: 17%; left: 6%; transform: rotate(-9deg); }
.pump-system-chip-offer { top: 7%; left: 28%; transform: rotate(8deg); }
.pump-system-chip-site { top: 39%; left: 17%; transform: rotate(5deg); }
.pump-system-chip-leads { top: 64%; left: 4%; transform: rotate(-7deg); }
.pump-system-chip-process { top: 73%; left: 29%; transform: rotate(8deg); }
.pump-system-chip-data { top: 52%; left: 30%; transform: rotate(-11deg); }

.pump-system-core {
	position: absolute;
	top: 50%;
	left: 54%;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 112px;
	height: 112px;
	border-radius: 50%;
	background: var(--tt-bg-color);
	color: var(--tt-text-color);
	font-size: 17px;
	font-weight: 900;
	line-height: 1;
	transform: translate(-50%, -50%);
	transition: transform .6s cubic-bezier(.2,.8,.2,1), box-shadow .6s ease;
}

.pump-system-core::before {
	content: "";
	position: absolute;
	inset: -13px;
	border: 1px dashed color-mix(in srgb, var(--tt-bg-color) 38%, transparent);
	border-radius: 50%;
	animation: pumpSystemCoreSpin 10s linear infinite;
}

.pump-system-core i {
	font-style: normal;
	font-size: 25px;
	line-height: .4;
}

.pump-system-rail {
	position: absolute;
	top: 50%;
	z-index: 2;
	height: 1px;
	background: color-mix(in srgb, var(--tt-bg-color) 64%, transparent);
	transform: scaleX(.12);
	transition: transform .75s cubic-bezier(.2,.8,.2,1), opacity .45s ease;
}

.pump-system-rail-in {
	left: 39%;
	width: 9%;
	transform-origin: right center;
}

.pump-system-rail-out {
	left: 60%;
	width: 9%;
	transform-origin: left center;
}

.pump-system-output {
	position: absolute;
	left: 72%;
	z-index: 3;
	display: flex;
	align-items: center;
	width: 23%;
	height: 38px;
	padding: 0 12px;
	border-left: 2px solid var(--tt-bg-color);
	color: color-mix(in srgb, var(--tt-bg-color) 48%, transparent);
	font-size: 10px;
	font-weight: 900;
	line-height: 1;
	opacity: .26;
	transform: translateX(-22px);
	transition: opacity .5s ease, transform .75s cubic-bezier(.2,.8,.2,1), color .45s ease;
}

.pump-system-output-1 { top: 34%; }
.pump-system-output-2 { top: 47%; }
.pump-system-output-3 { top: 60%; }

.pump-system-pulse {
	position: absolute;
	top: calc(50% - 4px);
	left: 39%;
	z-index: 8;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--tt-bg-color);
	box-shadow: 0 0 0 7px color-mix(in srgb, var(--tt-bg-color) 12%, transparent);
	opacity: 0;
}

.pump-system-status {
	position: absolute;
	right: 26px;
	bottom: 24px;
	left: 26px;
	display: flex;
	justify-content: space-between;
	color: color-mix(in srgb, var(--tt-bg-color) 46%, transparent);
	font-size: 10px;
	font-weight: 900;
	line-height: 1;
}

.pump-system-status b {
	color: var(--tt-bg-color);
}

.pump-pains-stage:hover .pump-system-chip,
.pump-pains-stage:focus-within .pump-system-chip {
	background: var(--tt-bg-color);
	color: var(--tt-text-color);
	border-color: var(--tt-bg-color);
	transform: rotate(0);
}

.pump-pains-stage:hover .pump-system-chip-idea,
.pump-pains-stage:focus-within .pump-system-chip-idea { top: 24%; left: 4%; }
.pump-pains-stage:hover .pump-system-chip-offer,
.pump-pains-stage:focus-within .pump-system-chip-offer { top: 40%; left: 4%; }
.pump-pains-stage:hover .pump-system-chip-site,
.pump-pains-stage:focus-within .pump-system-chip-site { top: 56%; left: 4%; }
.pump-pains-stage:hover .pump-system-chip-leads,
.pump-pains-stage:focus-within .pump-system-chip-leads { top: 24%; left: 25%; }
.pump-pains-stage:hover .pump-system-chip-process,
.pump-pains-stage:focus-within .pump-system-chip-process { top: 40%; left: 25%; }
.pump-pains-stage:hover .pump-system-chip-data,
.pump-pains-stage:focus-within .pump-system-chip-data { top: 56%; left: 25%; }

.pump-pains-stage:hover .pump-system-orbit,
.pump-pains-stage:focus-within .pump-system-orbit {
	opacity: 0;
	transform: rotate(0) scale(.74);
}

.pump-pains-stage:hover .pump-system-core,
.pump-pains-stage:focus-within .pump-system-core {
	box-shadow: 0 0 0 15px color-mix(in srgb, var(--tt-bg-color) 8%, transparent);
	transform: translate(-50%, -50%) scale(1.06);
}

.pump-pains-stage:hover .pump-system-rail,
.pump-pains-stage:focus-within .pump-system-rail {
	transform: scaleX(1);
}

.pump-pains-stage:hover .pump-system-output,
.pump-pains-stage:focus-within .pump-system-output {
	color: var(--tt-bg-color);
	opacity: 1;
	transform: translateX(0);
}

.pump-pains-stage:hover .pump-system-pulse,
.pump-pains-stage:focus-within .pump-system-pulse {
	animation: pumpSystemPulse 2.2s .65s ease-in-out infinite;
}

.pump-pains-stage:has(.pump-pain-row:nth-child(1):is(:hover, :focus)) .pump-system-chip-idea,
.pump-pains-stage:has(.pump-pain-row:nth-child(1):is(:hover, :focus)) .pump-system-chip-offer,
.pump-pains-stage:has(.pump-pain-row:nth-child(2):is(:hover, :focus)) .pump-system-chip-site,
.pump-pains-stage:has(.pump-pain-row:nth-child(2):is(:hover, :focus)) .pump-system-chip-leads,
.pump-pains-stage:has(.pump-pain-row:nth-child(3):is(:hover, :focus)) .pump-system-chip-process,
.pump-pains-stage:has(.pump-pain-row:nth-child(4):is(:hover, :focus)) .pump-system-chip-data {
	box-shadow: 0 0 0 6px color-mix(in srgb, var(--tt-bg-color) 13%, transparent);
}

@keyframes pumpChaosOrbit {
	to { transform: rotate(348deg); }
}

@keyframes pumpSystemCoreSpin {
	to { transform: rotate(360deg); }
}

@keyframes pumpSystemPulse {
	0% { left: 39%; opacity: 0; }
	12% { opacity: 1; }
	50% { opacity: 1; }
	88% { opacity: 1; }
	100% { left: 69%; opacity: 0; }
}

@media (max-width: 1180px) {
	.pump-pains-stage {
		grid-template-columns: 1fr;
	}

	.pump-system-diagram {
		min-height: 520px;
	}

	.pump-system-field {
		height: 420px;
	}
}

@media (hover: none) {
	.pump-system-chip {
		background: var(--tt-bg-color);
		color: var(--tt-text-color);
		border-color: var(--tt-bg-color);
		transform: rotate(0);
	}

	.pump-system-chip-idea { top: 24%; left: 4%; }
	.pump-system-chip-offer { top: 40%; left: 4%; }
	.pump-system-chip-site { top: 56%; left: 4%; }
	.pump-system-chip-leads { top: 24%; left: 25%; }
	.pump-system-chip-process { top: 40%; left: 25%; }
	.pump-system-chip-data { top: 56%; left: 25%; }

	.pump-system-orbit { opacity: 0; }
	.pump-system-rail { transform: scaleX(1); }
	.pump-system-output { color: var(--tt-bg-color); opacity: 1; transform: translateX(0); }
	.pump-system-pulse { animation: pumpSystemPulse 2.4s 1s ease-in-out infinite; }
}

@media (max-width: 640px) {
	.pump-pains-stage {
		gap: 30px;
	}

	.pump-pain-row {
		grid-template-columns: 38px minmax(0, 1fr) 10px;
		gap: 12px;
		min-height: 0;
		padding: 19px 0;
	}

	.pump-pain-row:hover,
	.pump-pain-row:focus {
		padding-right: 8px;
		padding-left: 8px;
	}

	.pump-pain-index {
		width: 34px;
		height: 34px;
		font-size: 9px;
	}

	.pump-pain-copy h3 {
		font-size: 20px;
	}

	.pump-pain-copy p {
		font-size: 14px;
		line-height: 1.38;
	}

	.pump-system-diagram {
		min-height: 410px;
		border-radius: 22px;
		box-shadow: 7px 7px 0 color-mix(in srgb, var(--tt-text-color) 12%, transparent);
	}

	.pump-system-topline {
		padding: 19px 18px 0;
		font-size: 9px;
	}

	.pump-system-field {
		height: 330px;
	}

	.pump-system-chip {
		min-width: 54px;
		height: 27px;
		padding: 0 7px;
		font-size: 8px;
	}

	.pump-system-chip-idea { top: 22%; left: 3%; }
	.pump-system-chip-offer { top: 39%; left: 3%; }
	.pump-system-chip-site { top: 56%; left: 3%; }
	.pump-system-chip-leads { top: 22%; left: 23%; }
	.pump-system-chip-process { top: 39%; left: 23%; }
	.pump-system-chip-data { top: 56%; left: 23%; }

	.pump-system-chip {
		background: var(--tt-bg-color);
		color: var(--tt-text-color);
		border-color: var(--tt-bg-color);
		transform: rotate(0);
	}

	.pump-system-orbit {
		opacity: 0;
		transform: rotate(0) scale(.74);
	}

	.pump-system-rail {
		transform: scaleX(1);
	}

	.pump-system-output {
		color: var(--tt-bg-color);
		opacity: 1;
		transform: translateX(0);
	}

	.pump-system-pulse {
		animation: pumpSystemPulse 2.4s 1s ease-in-out infinite;
	}

	.pump-system-core {
		left: 54%;
		width: 76px;
		height: 76px;
		font-size: 12px;
	}

	.pump-system-core::before {
		inset: -9px;
	}

	.pump-system-core i {
		font-size: 18px;
	}

	.pump-system-rail-in {
		left: 41%;
		width: 8%;
	}

	.pump-system-rail-out {
		left: 65%;
		width: 5%;
	}

	.pump-system-output {
		left: 71%;
		width: 27%;
		height: 30px;
		padding-left: 7px;
		font-size: 7.5px;
	}

	.pump-system-output-1 { top: 32%; }
	.pump-system-output-2 { top: 46%; }
	.pump-system-output-3 { top: 60%; }

	.pump-system-status {
		right: 18px;
		bottom: 18px;
		left: 18px;
		font-size: 8px;
	}

	@keyframes pumpSystemPulse {
		0% { left: 41%; opacity: 0; }
		12% { opacity: 1; }
		88% { opacity: 1; }
		100% { left: 70%; opacity: 0; }
	}
}


/* About pains: floating chaos and vertical mobile flow */
.pump-pain-row {
	grid-template-columns: 54px minmax(0, 1fr);
}

.pump-system-chip {
	--chaos-r: 0deg;
	--drift-x: 9px;
	--drift-y: -8px;
	--drift-duration: 6.8s;
	--drift-delay: 0s;
	transform: rotate(var(--chaos-r));
	animation: pumpChaosDrift var(--drift-duration) var(--drift-delay) ease-in-out infinite;
}

.pump-system-chip-idea {
	--chaos-r: -9deg;
	--drift-x: 12px;
	--drift-y: -7px;
	--drift-duration: 6.2s;
}

.pump-system-chip-offer {
	--chaos-r: 8deg;
	--drift-x: -8px;
	--drift-y: 11px;
	--drift-duration: 7.4s;
	--drift-delay: -.8s;
}

.pump-system-chip-site {
	--chaos-r: 5deg;
	--drift-x: 11px;
	--drift-y: 8px;
	--drift-duration: 6.7s;
	--drift-delay: -2.1s;
}

.pump-system-chip-leads {
	--chaos-r: -7deg;
	--drift-x: 8px;
	--drift-y: -12px;
	--drift-duration: 7.8s;
	--drift-delay: -1.4s;
}

.pump-system-chip-process {
	--chaos-r: 8deg;
	--drift-x: -12px;
	--drift-y: -8px;
	--drift-duration: 6.5s;
	--drift-delay: -3.2s;
}

.pump-system-chip-data {
	--chaos-r: -11deg;
	--drift-x: 10px;
	--drift-y: 10px;
	--drift-duration: 7.1s;
	--drift-delay: -2.6s;
}

.pump-system-chip-sales {
	top: 30%;
	left: 37%;
	--chaos-r: 12deg;
	--drift-x: -10px;
	--drift-y: -12px;
	--drift-duration: 7.7s;
	--drift-delay: -1.7s;
}

.pump-system-chip-content {
	top: 84%;
	left: 11%;
	--chaos-r: -6deg;
	--drift-x: 13px;
	--drift-y: -10px;
	--drift-duration: 6.9s;
	--drift-delay: -4s;
}

.pump-system-chip-seo {
	top: 12%;
	left: 42%;
	--chaos-r: -13deg;
	--drift-x: -9px;
	--drift-y: 12px;
	--drift-duration: 7.5s;
	--drift-delay: -3.4s;
}

.pump-system-chip-ads {
	top: 82%;
	left: 38%;
	--chaos-r: 10deg;
	--drift-x: 10px;
	--drift-y: 9px;
	--drift-duration: 6.4s;
	--drift-delay: -2.8s;
}

.pump-pains-stage:hover .pump-system-chip {
	animation: none;
}

.pump-pains-stage:hover .pump-system-chip-idea { top: 14%; left: 4%; }
.pump-pains-stage:hover .pump-system-chip-offer { top: 14%; left: 25%; }
.pump-pains-stage:hover .pump-system-chip-site { top: 29%; left: 4%; }
.pump-pains-stage:hover .pump-system-chip-leads { top: 29%; left: 25%; }
.pump-pains-stage:hover .pump-system-chip-process { top: 44%; left: 4%; }
.pump-pains-stage:hover .pump-system-chip-data { top: 44%; left: 25%; }
.pump-pains-stage:hover .pump-system-chip-sales { top: 59%; left: 4%; }
.pump-pains-stage:hover .pump-system-chip-content { top: 59%; left: 25%; }
.pump-pains-stage:hover .pump-system-chip-seo { top: 74%; left: 4%; }
.pump-pains-stage:hover .pump-system-chip-ads { top: 74%; left: 25%; }

.pump-pains-stage:has(.pump-pain-row:nth-child(1):hover) .pump-system-chip-idea,
.pump-pains-stage:has(.pump-pain-row:nth-child(1):hover) .pump-system-chip-offer,
.pump-pains-stage:has(.pump-pain-row:nth-child(2):hover) .pump-system-chip-site,
.pump-pains-stage:has(.pump-pain-row:nth-child(2):hover) .pump-system-chip-leads,
.pump-pains-stage:has(.pump-pain-row:nth-child(3):hover) .pump-system-chip-process,
.pump-pains-stage:has(.pump-pain-row:nth-child(4):hover) .pump-system-chip-data,
.pump-pains-stage:has(.pump-pain-row:nth-child(4):hover) .pump-system-chip-sales,
.pump-pains-stage:has(.pump-pain-row:nth-child(4):hover) .pump-system-chip-content,
.pump-pains-stage:has(.pump-pain-row:nth-child(4):hover) .pump-system-chip-seo,
.pump-pains-stage:has(.pump-pain-row:nth-child(4):hover) .pump-system-chip-ads {
	box-shadow: 0 0 0 6px color-mix(in srgb, var(--tt-bg-color) 13%, transparent);
}

@keyframes pumpChaosDrift {
	0%, 100% {
		transform: translate3d(0, 0, 0) rotate(var(--chaos-r));
	}
	25% {
		transform: translate3d(var(--drift-x), var(--drift-y), 0) rotate(calc(var(--chaos-r) + 4deg));
	}
	55% {
		transform: translate3d(calc(var(--drift-x) * -.7), calc(var(--drift-y) * .55), 0) rotate(calc(var(--chaos-r) - 3deg));
	}
	78% {
		transform: translate3d(calc(var(--drift-x) * .35), calc(var(--drift-y) * -1), 0) rotate(calc(var(--chaos-r) + 2deg));
	}
}

@media (max-width: 640px) {
	.pump-pain-row {
		grid-template-columns: 38px minmax(0, 1fr);
	}

	.pump-system-diagram {
		min-height: 620px;
	}

	.pump-system-topline {
		position: absolute;
		inset: 20px 18px 22px;
		z-index: 10;
		display: block;
		padding: 0;
	}

	.pump-system-topline span:first-child {
		position: absolute;
		top: 0;
		left: 0;
	}

	.pump-system-topline span:last-child {
		position: absolute;
		right: 0;
		bottom: 0;
	}

	.pump-system-topline i {
		display: none;
	}

	.pump-system-field {
		height: 570px;
		margin-top: 18px;
	}

	.pump-system-chip {
		--m-system-top: 10%;
		--m-system-left: 4%;
		--m-chaos-top: 12%;
		--m-chaos-left: 5%;
		background: color-mix(in srgb, var(--tt-bg-color) 9%, transparent);
		color: color-mix(in srgb, var(--tt-bg-color) 76%, transparent);
		border-color: color-mix(in srgb, var(--tt-bg-color) 28%, transparent);
		animation: pumpMobileChipFlow 11s ease-in-out infinite !important;
	}

	.pump-system-chip-idea { --m-chaos-top: 9%; --m-chaos-left: 5%; --m-system-top: 9%; --m-system-left: 3%; }
	.pump-system-chip-offer { --m-chaos-top: 20%; --m-chaos-left: 34%; --m-system-top: 9%; --m-system-left: 35%; }
	.pump-system-chip-site { --m-chaos-top: 7%; --m-chaos-left: 66%; --m-system-top: 9%; --m-system-left: 67%; }
	.pump-system-chip-leads { --m-chaos-top: 29%; --m-chaos-left: 7%; --m-system-top: 18%; --m-system-left: 3%; }
	.pump-system-chip-process { --m-chaos-top: 13%; --m-chaos-left: 47%; --m-system-top: 18%; --m-system-left: 35%; }
	.pump-system-chip-data { --m-chaos-top: 31%; --m-chaos-left: 61%; --m-system-top: 18%; --m-system-left: 67%; }
	.pump-system-chip-sales { --m-chaos-top: 39%; --m-chaos-left: 26%; --m-system-top: 27%; --m-system-left: 3%; }
	.pump-system-chip-content { --m-chaos-top: 22%; --m-chaos-left: 72%; --m-system-top: 27%; --m-system-left: 35%; }
	.pump-system-chip-seo { --m-chaos-top: 40%; --m-chaos-left: 60%; --m-system-top: 27%; --m-system-left: 67%; }
	.pump-system-chip-ads { --m-chaos-top: 37%; --m-chaos-left: 3%; --m-system-top: 36%; --m-system-left: 35%; }

	.pump-pains-stage:hover .pump-system-chip {
		animation: pumpMobileChipFlow 11s ease-in-out infinite !important;
	}

	.pump-system-orbit {
		top: 8%;
		left: 8%;
		width: 84%;
		height: 35%;
		opacity: 1;
		animation: pumpMobileOrbitFlow 11s ease-in-out infinite;
	}

	.pump-system-core {
		top: 55%;
		left: 50%;
		animation: pumpMobileCoreFlow 11s ease-in-out infinite;
	}

	.pump-system-rail {
		left: 50%;
		width: 1px;
		height: 11%;
		transform: scaleY(1);
	}

	.pump-system-rail-in {
		top: 41%;
		transform-origin: center bottom;
	}

	.pump-system-rail-out {
		top: 62%;
		transform-origin: center top;
	}

	.pump-system-output {
		left: 20%;
		width: 60%;
		height: 34px;
		justify-content: center;
		padding: 0;
		border-top: 1px solid color-mix(in srgb, var(--tt-bg-color) 72%, transparent);
		border-left: 0;
		font-size: 8.5px;
		animation: pumpMobileOutputFlow 11s ease-in-out infinite;
	}

	.pump-system-output-1 { top: 73%; }
	.pump-system-output-2 { top: 82%; }
	.pump-system-output-3 { top: 91%; }

	.pump-system-pulse {
		top: 41%;
		left: calc(50% - 4px);
		animation: pumpMobilePulseFlow 11s ease-in-out infinite;
	}

	.pump-system-status {
		display: none;
	}
}

@keyframes pumpMobileChipFlow {
	0%, 31%, 100% {
		top: var(--m-chaos-top);
		left: var(--m-chaos-left);
		background: color-mix(in srgb, var(--tt-bg-color) 9%, transparent);
		color: color-mix(in srgb, var(--tt-bg-color) 76%, transparent);
		border-color: color-mix(in srgb, var(--tt-bg-color) 28%, transparent);
		transform: translate3d(0, 0, 0) rotate(var(--chaos-r));
	}
	15% {
		top: var(--m-chaos-top);
		left: var(--m-chaos-left);
		transform: translate3d(var(--drift-x), var(--drift-y), 0) rotate(calc(var(--chaos-r) + 5deg));
	}
	45%, 76% {
		top: var(--m-system-top);
		left: var(--m-system-left);
		background: var(--tt-bg-color);
		color: var(--tt-text-color);
		border-color: var(--tt-bg-color);
		transform: translate3d(0, 0, 0) rotate(0);
	}
}

@keyframes pumpMobileOrbitFlow {
	0%, 31%, 100% { opacity: 1; transform: rotate(-10deg) scale(1); }
	45%, 76% { opacity: 0; transform: rotate(0) scale(.76); }
}

@keyframes pumpMobileCoreFlow {
	0%, 38%, 82%, 100% { box-shadow: none; transform: translate(-50%, -50%) scale(1); }
	50%, 76% { box-shadow: 0 0 0 13px color-mix(in srgb, var(--tt-bg-color) 9%, transparent); transform: translate(-50%, -50%) scale(1.08); }
}

@keyframes pumpMobileOutputFlow {
	0%, 38%, 86%, 100% { color: color-mix(in srgb, var(--tt-bg-color) 34%, transparent); opacity: .25; transform: translateY(-12px); }
	50%, 78% { color: var(--tt-bg-color); opacity: 1; transform: translateY(0); }
}

@keyframes pumpMobilePulseFlow {
	0%, 40%, 84%, 100% { top: 41%; opacity: 0; }
	48% { opacity: 1; }
	72% { top: 72%; opacity: 1; }
	80% { top: 72%; opacity: 0; }
}



/* About pains: final motion and mobile alignment */
.pump-system-diagram {
	min-height: 520px;
}

.pump-system-field {
	height: 420px;
}

.pump-system-chip-idea { --drift-x: 21px; --drift-y: -15px; --drift-duration: 5.3s; }
.pump-system-chip-offer { --drift-x: -17px; --drift-y: 20px; --drift-duration: 6.1s; }
.pump-system-chip-site { --drift-x: 22px; --drift-y: 16px; --drift-duration: 5.7s; }
.pump-system-chip-leads { --drift-x: 16px; --drift-y: -22px; --drift-duration: 6.5s; }
.pump-system-chip-process { --drift-x: -23px; --drift-y: -15px; --drift-duration: 5.5s; }
.pump-system-chip-data { --drift-x: 19px; --drift-y: 20px; --drift-duration: 6.2s; }
.pump-system-chip-sales { --drift-x: -20px; --drift-y: -21px; --drift-duration: 5.9s; }
.pump-system-chip-content { --drift-x: 24px; --drift-y: -17px; --drift-duration: 5.6s; }
.pump-system-chip-seo { --drift-x: -18px; --drift-y: 22px; --drift-duration: 6.4s; }
.pump-system-chip-ads { --drift-x: 20px; --drift-y: 18px; --drift-duration: 5.2s; }

@keyframes pumpChaosDrift {
	0%, 100% {
		transform: translate3d(0, 0, 0) rotate(var(--chaos-r));
	}
	24% {
		transform: translate3d(var(--drift-x), var(--drift-y), 0) rotate(calc(var(--chaos-r) + 5deg));
	}
	52% {
		transform: translate3d(-13px, 15px, 0) rotate(calc(var(--chaos-r) - 4deg));
	}
	78% {
		transform: translate3d(11px, -14px, 0) rotate(calc(var(--chaos-r) + 3deg));
	}
}


@media (max-width: 640px) {
	.pump-system-diagram {
		min-height: 540px;
	}

	.pump-system-field {
		height: 490px;
	}

	.pump-system-chip {
		left: var(--m-system-left) !important;
		top: var(--m-system-top) !important;
		background: var(--tt-bg-color);
		color: var(--tt-text-color);
		border-color: var(--tt-bg-color);
		transform: translateX(-50%) rotate(0) !important;
		animation: none !important;
	}

	.pump-system-chip-idea { --m-system-top: 9%; --m-system-left: 16.66%; }
	.pump-system-chip-offer { --m-system-top: 9%; --m-system-left: 50%; }
	.pump-system-chip-site { --m-system-top: 9%; --m-system-left: 83.33%; }
	.pump-system-chip-leads { --m-system-top: 18%; --m-system-left: 16.66%; }
	.pump-system-chip-process { --m-system-top: 18%; --m-system-left: 50%; }
	.pump-system-chip-data { --m-system-top: 18%; --m-system-left: 83.33%; }
	.pump-system-chip-sales { --m-system-top: 27%; --m-system-left: 16.66%; }
	.pump-system-chip-content { --m-system-top: 27%; --m-system-left: 50%; }
	.pump-system-chip-seo { --m-system-top: 27%; --m-system-left: 83.33%; }
	.pump-system-chip-ads { --m-system-top: 36%; --m-system-left: 50%; }

	.pump-pains-stage:hover .pump-system-chip {
		left: var(--m-system-left) !important;
		top: var(--m-system-top) !important;
		transform: translateX(-50%) rotate(0) !important;
		animation: none !important;
	}

	.pump-system-orbit {
		display: none;
	}

	.pump-system-core {
		top: 54%;
		left: 50%;
		box-shadow: 0 0 0 10px color-mix(in srgb, var(--tt-bg-color) 7%, transparent);
		transform: translate(-50%, -50%);
		animation: none;
	}

	.pump-system-rail {
		left: 50%;
		width: 1px;
		transform: scaleY(1);
	}

	.pump-system-rail-in {
		top: 38%;
		height: 10%;
	}

	.pump-system-rail-out {
		top: 62%;
		height: 12%;
	}

	.pump-system-output {
		top: 76%;
		width: 28%;
		height: 62px;
		padding: 6px;
		border: 1px solid color-mix(in srgb, var(--tt-bg-color) 54%, transparent);
		border-radius: 8px;
		color: var(--tt-bg-color);
		font-size: 7.5px;
		line-height: 1.15;
		opacity: 1;
		transform: none;
		animation: none;
		text-align: center;
	}

	.pump-system-output-1 { left: 4%; }
	.pump-system-output-2 { left: 36%; }
	.pump-system-output-3 { left: 68%; }

	.pump-system-pulse {
		display: none;
	}
}

/* About pains: compact desktop and connected mobile system */
@media (min-width: 641px) {
	.pump-pains-stage::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 43%;
		z-index: 0;
		width: 15%;
		border-top: 1px dashed color-mix(in srgb, var(--tt-text-color) 28%, transparent);
		pointer-events: none;
	}

	.pump-pains-stage::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50.5%;
		z-index: 1;
		width: 8px;
		height: 8px;
		border: 1px solid #ad2f13;
		background: var(--tt-bg-color);
		transform: translate(-50%, -50%) rotate(45deg);
		pointer-events: none;
	}

	.pump-system-diagram {
		align-self: center;
		min-height: 350px;
	}

	.pump-system-field {
		height: 265px;
	}
}

@media (max-width: 640px) {
	.pump-system-field::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 1;
		background:
			linear-gradient(90deg, color-mix(in srgb, var(--tt-bg-color) 42%, transparent), color-mix(in srgb, var(--tt-bg-color) 42%, transparent)) 16.66% 11.75% / 66.67% 1px no-repeat,
			linear-gradient(90deg, color-mix(in srgb, var(--tt-bg-color) 42%, transparent), color-mix(in srgb, var(--tt-bg-color) 42%, transparent)) 16.66% 20.75% / 66.67% 1px no-repeat,
			linear-gradient(90deg, color-mix(in srgb, var(--tt-bg-color) 42%, transparent), color-mix(in srgb, var(--tt-bg-color) 42%, transparent)) 16.66% 29.75% / 66.67% 1px no-repeat,
			linear-gradient(color-mix(in srgb, var(--tt-bg-color) 30%, transparent), color-mix(in srgb, var(--tt-bg-color) 30%, transparent)) 16.66% 11.75% / 1px 18% no-repeat,
			linear-gradient(color-mix(in srgb, var(--tt-bg-color) 42%, transparent), color-mix(in srgb, var(--tt-bg-color) 42%, transparent)) 50% 11.75% / 1px 27% no-repeat,
			linear-gradient(color-mix(in srgb, var(--tt-bg-color) 30%, transparent), color-mix(in srgb, var(--tt-bg-color) 30%, transparent)) 83.33% 11.75% / 1px 18% no-repeat;
		pointer-events: none;
	}

	.pump-system-field::after {
		content: "";
		position: absolute;
		top: 73.2%;
		left: 50%;
		z-index: 4;
		width: 9px;
		height: 9px;
		border-right: 1px solid var(--tt-bg-color);
		border-bottom: 1px solid var(--tt-bg-color);
		transform: translate(-50%, -50%) rotate(45deg);
		pointer-events: none;
	}

	.pump-system-core {
		animation: pumpMobileCorePulse 2.8s ease-in-out infinite;
	}

	.pump-system-rail-out {
		animation: pumpMobileRailPulse 2.8s ease-in-out infinite;
	}
}

@keyframes pumpMobileCorePulse {
	0%, 100% {
		box-shadow: 0 0 0 8px color-mix(in srgb, var(--tt-bg-color) 5%, transparent);
		transform: translate(-50%, -50%) scale(1);
	}
	50% {
		box-shadow: 0 0 0 15px color-mix(in srgb, var(--tt-bg-color) 12%, transparent);
		transform: translate(-50%, -50%) scale(1.045);
	}
}

@keyframes pumpMobileRailPulse {
	0%, 100% { opacity: .38; }
	50% { opacity: 1; }
}


/* About pains: fixed diagram palette and compact pain rows */
.pump-about-pains-section {
	background:
		linear-gradient(116deg, transparent 0 61%, rgba(173, 47, 19, .045) 61% 61.35%, transparent 61.35% 100%),
		repeating-linear-gradient(135deg, transparent 0 74px, color-mix(in srgb, var(--tt-text-color) 3.5%, transparent) 75px, transparent 76px),
		linear-gradient(180deg, color-mix(in srgb, var(--tt-bg-color) 89%, var(--tt-text-color) 11%), color-mix(in srgb, var(--tt-bg-color) 82%, var(--tt-text-color) 18%));
	animation: none;
}

.pump-about-pains-section::before {
	display: block;
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--tt-text-color) 6%, transparent) 1px, transparent 1px),
		linear-gradient(color-mix(in srgb, var(--tt-text-color) 6%, transparent) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .42) 58%, transparent 100%);
	opacity: .46;
}

.pump-about-pains-section::after {
	content: "";
	position: absolute;
	inset: clamp(16px, 2.5vw, 42px);
	background:
		linear-gradient(#ad2f13, #ad2f13) left top / 72px 2px no-repeat,
		linear-gradient(#ad2f13, #ad2f13) left top / 2px 32px no-repeat,
		linear-gradient(#ad2f13, #ad2f13) right bottom / 72px 2px no-repeat,
		linear-gradient(#ad2f13, #ad2f13) right bottom / 2px 32px no-repeat;
	opacity: .36;
	pointer-events: none;
}

.pump-system-diagram {
	--tt-bg-color: #e3e0d8;
	--tt-text-color: #16171a;
	border-color: rgba(227, 224, 216, .22);
	box-shadow:
		10px 12px 0 color-mix(in srgb, var(--tt-text-color) 15%, transparent),
		0 24px 60px rgba(0, 0, 0, .12);
	transition: border-color .45s ease, box-shadow .45s ease;
}

.pump-system-diagram::after {
	content: "";
	position: absolute;
	inset: 10px;
	z-index: 8;
	border-radius: 20px;
	background:
		linear-gradient(rgba(227, 224, 216, .34), rgba(227, 224, 216, .34)) left top / 54px 1px no-repeat,
		linear-gradient(rgba(227, 224, 216, .34), rgba(227, 224, 216, .34)) left top / 1px 26px no-repeat,
		linear-gradient(rgba(227, 224, 216, .18), rgba(227, 224, 216, .18)) right bottom / 54px 1px no-repeat,
		linear-gradient(rgba(227, 224, 216, .18), rgba(227, 224, 216, .18)) right bottom / 1px 26px no-repeat;
	pointer-events: none;
}

.pump-pains-stage:hover .pump-system-diagram,
.pump-pains-stage:focus-within .pump-system-diagram {
	border-color: rgba(173, 47, 19, .72);
	box-shadow:
		10px 12px 0 color-mix(in srgb, var(--tt-text-color) 15%, transparent),
		0 28px 66px rgba(0, 0, 0, .16);
}

.pump-system-topline span {
	transition: color .5s ease;
}

.pump-pains-stage:hover .pump-system-topline span:last-child,
.pump-pains-stage:focus-within .pump-system-topline span:last-child {
	color: #d34a2b;
}

.pump-pains-diagnostic {
	position: relative;
	z-index: 2;
	gap: 7px;
	border-top: 0;
}

.pump-pain-row {
	min-height: 112px;
	padding: 16px;
	border-bottom: 0;
	border-radius: 6px;
	background: color-mix(in srgb, var(--tt-bg-color) 42%, transparent);
	box-shadow: inset 3px 0 0 transparent;
	transition: color .35s ease, background-color .35s ease, box-shadow .35s ease, transform .45s cubic-bezier(.22, .61, .36, 1);
}

.pump-pain-row::before {
	display: none;
}

.pump-pain-row::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 57px;
	width: 13px;
	height: 1px;
	background: color-mix(in srgb, var(--tt-text-color) 24%, transparent);
	transform: translateY(-50%);
	transition: width .35s ease, background-color .35s ease;
}

.pump-pain-row:hover,
.pump-pain-row:focus {
	padding: 16px;
	background: color-mix(in srgb, var(--tt-bg-color) 74%, transparent);
	box-shadow: inset 3px 0 0 #ad2f13;
	transform: translateX(7px);
}

.pump-pain-row:hover::after,
.pump-pain-row:focus::after {
	width: 18px;
	background: #ad2f13;
}

.pump-pain-row:hover .pump-pain-index,
.pump-pain-row:focus .pump-pain-index {
	color: #f4f1e9;
	background: #ad2f13;
}

.pump-pain-index {
	width: 36px;
	height: 36px;
	font-size: 9px;
}

.pump-pain-copy h3 {
	margin-bottom: 6px;
	font-size: clamp(19px, 1.35vw, 25px);
}

.pump-pain-copy p {
	font-size: clamp(13px, .85vw, 16px);
	line-height: 1.38;
}

@media (max-width: 640px) {
	.pump-pain-row {
		grid-template-columns: 32px minmax(0, 1fr);
		gap: 10px;
		padding: 15px 0;
	}

	.pump-pain-index {
		width: 30px;
		height: 30px;
		font-size: 8px;
	}

	.pump-pain-copy h3 {
		font-size: 18px;
	}

	.pump-pain-copy p {
		font-size: 13px;
	}

	.pump-pain-row::after {
		display: none;
	}

	.pump-system-field::before {
		background:
			linear-gradient(90deg, color-mix(in srgb, var(--tt-bg-color) 42%, transparent), color-mix(in srgb, var(--tt-bg-color) 42%, transparent)) center 11.75% / 66.67% 1px no-repeat,
			linear-gradient(90deg, color-mix(in srgb, var(--tt-bg-color) 42%, transparent), color-mix(in srgb, var(--tt-bg-color) 42%, transparent)) center 20.75% / 66.67% 1px no-repeat,
			linear-gradient(90deg, color-mix(in srgb, var(--tt-bg-color) 42%, transparent), color-mix(in srgb, var(--tt-bg-color) 42%, transparent)) center 29.75% / 66.67% 1px no-repeat,
			linear-gradient(color-mix(in srgb, var(--tt-bg-color) 30%, transparent), color-mix(in srgb, var(--tt-bg-color) 30%, transparent)) 16.66% 11.75% / 1px 18% no-repeat,
			linear-gradient(color-mix(in srgb, var(--tt-bg-color) 42%, transparent), color-mix(in srgb, var(--tt-bg-color) 42%, transparent)) 50% 11.75% / 1px 27% no-repeat,
			linear-gradient(color-mix(in srgb, var(--tt-bg-color) 30%, transparent), color-mix(in srgb, var(--tt-bg-color) 30%, transparent)) 83.33% 11.75% / 1px 18% no-repeat;
	}

	.pump-system-core {
		font-size: 16px;
		animation: pumpMobileCorePulse 2.4s ease-in-out infinite;
	}

	.pump-system-core i {
		font-size: 24px;
	}

	.pump-system-rail-out {
		animation-duration: 2.4s;
	}
}

@keyframes pumpMobileCorePulse {
	0%, 100% {
		box-shadow: 0 0 0 7px rgba(227, 224, 216, .05);
		transform: translate(-50%, -50%) scale(1);
	}
	50% {
		box-shadow: 0 0 0 17px rgba(227, 224, 216, .15);
		transform: translate(-50%, -50%) scale(1.07);
	}
}

/* About approach: lightweight CSS dancer */
.pump-dancer-stage {
	position: relative;
	width: min(100%, 320px);
	height: 270px;
	margin: 42px auto 0;
	color: var(--tt-text-color);
	overflow: hidden;
}

.pump-dancer {
	position: absolute;
	top: 30px;
	left: 50%;
	width: 100px;
	height: 188px;
	transform: translateX(-50%);
	transform-origin: 50% 100%;
	animation: pumpDancerBounce 1.55s ease-in-out infinite;
}

.pump-dancer-head {
	position: absolute;
	top: 0;
	left: 50%;
	width: 44px;
	height: 44px;
	border: 4px solid currentColor;
	border-radius: 50%;
	transform: translateX(-50%);
	transform-origin: 50% 100%;
	animation: pumpDancerHead 1.55s ease-in-out infinite;
}

.pump-dancer-body,
.pump-dancer-limb {
	position: absolute;
	display: block;
	border-radius: 999px;
	background: currentColor;
}

.pump-dancer-body {
	top: 43px;
	left: calc(50% - 2px);
	width: 4px;
	height: 76px;
}

.pump-dancer-arm {
	top: 60px;
	width: 56px;
	height: 4px;
}

.pump-dancer-arm-left {
	right: 50%;
	transform: rotate(-28deg);
	transform-origin: 100% 50%;
	animation: pumpDancerArmLeft 1.55s ease-in-out infinite;
}

.pump-dancer-arm-right {
	left: 50%;
	transform: rotate(28deg);
	transform-origin: 0 50%;
	animation: pumpDancerArmRight 1.55s ease-in-out infinite;
}

.pump-dancer-leg {
	top: 113px;
	left: calc(50% - 2px);
	width: 4px;
	height: 72px;
	transform-origin: 50% 0;
}

.pump-dancer-leg-left {
	transform: rotate(17deg);
	animation: pumpDancerLegLeft 1.55s ease-in-out infinite;
}

.pump-dancer-leg-right {
	transform: rotate(-17deg);
	animation: pumpDancerLegRight 1.55s ease-in-out infinite;
}

.pump-dancer-floor {
	position: absolute;
	right: 45px;
	bottom: 28px;
	left: 45px;
	height: 1px;
	background: color-mix(in srgb, currentColor 42%, transparent);
	transform-origin: center;
	animation: pumpDancerFloor 1.55s ease-in-out infinite;
}

.pump-dancer-beat {
	position: absolute;
	width: 9px;
	height: 9px;
	border: 2px solid currentColor;
	border-radius: 50%;
	opacity: 0;
}

.pump-dancer-beat-left {
	top: 74px;
	left: 38px;
	animation: pumpDancerBeatLeft 1.55s ease-out infinite;
}

.pump-dancer-beat-right {
	top: 112px;
	right: 42px;
	animation: pumpDancerBeatRight 1.55s .36s ease-out infinite;
}

@keyframes pumpDancerBounce {
	0%, 100% { transform: translateX(-50%) translateY(0) rotate(-3deg); }
	25% { transform: translateX(-50%) translateY(-11px) rotate(2deg); }
	50% { transform: translateX(-50%) translateY(1px) rotate(4deg); }
	75% { transform: translateX(-50%) translateY(-8px) rotate(-2deg); }
}

@keyframes pumpDancerHead {
	0%, 100% { transform: translateX(-50%) rotate(-8deg); }
	50% { transform: translateX(-50%) rotate(9deg); }
}

@keyframes pumpDancerArmLeft {
	0%, 100% { transform: rotate(-28deg); }
	25% { transform: rotate(-74deg); }
	50% { transform: rotate(18deg); }
	75% { transform: rotate(-48deg); }
}

@keyframes pumpDancerArmRight {
	0%, 100% { transform: rotate(28deg); }
	25% { transform: rotate(62deg); }
	50% { transform: rotate(-20deg); }
	75% { transform: rotate(76deg); }
}

@keyframes pumpDancerLegLeft {
	0%, 100% { transform: rotate(17deg); }
	25% { transform: rotate(4deg); }
	50% { transform: rotate(29deg); }
	75% { transform: rotate(10deg); }
}

@keyframes pumpDancerLegRight {
	0%, 100% { transform: rotate(-17deg); }
	25% { transform: rotate(-31deg); }
	50% { transform: rotate(-5deg); }
	75% { transform: rotate(-25deg); }
}

@keyframes pumpDancerFloor {
	0%, 100% { opacity: .42; transform: scaleX(.72); }
	50% { opacity: .78; transform: scaleX(1); }
}

@keyframes pumpDancerBeatLeft {
	0% { opacity: 0; transform: translate(12px, 14px) scale(.4); }
	28% { opacity: .7; }
	72%, 100% { opacity: 0; transform: translate(-18px, -24px) scale(1.2); }
}

@keyframes pumpDancerBeatRight {
	0% { opacity: 0; transform: translate(-10px, 12px) scale(.4); }
	28% { opacity: .62; }
	72%, 100% { opacity: 0; transform: translate(20px, -22px) scale(1.15); }
}

@media (max-width: 1024px) {
	.pump-dancer-stage {
		display: none;
	}
}


/* About approach: articulated looping dance */
.pump-dancer {
	animation: pumpDancerGroove 1.28s cubic-bezier(.45, 0, .55, 1) infinite;
}

.pump-dancer-head {
	animation: pumpDancerHeadGroove 1.28s ease-in-out infinite;
}

.pump-dancer-arm {
	width: 38px;
}

.pump-dancer-arm::after,
.pump-dancer-leg::after {
	content: "";
	position: absolute;
	display: block;
	border-radius: 999px;
	background: currentColor;
}

.pump-dancer-arm::after {
	top: 0;
	width: 34px;
	height: 4px;
}

.pump-dancer-arm-left {
	animation: pumpDancerUpperArmLeft 1.28s ease-in-out infinite;
}

.pump-dancer-arm-left::after {
	right: 100%;
	transform: rotate(-48deg);
	transform-origin: 100% 50%;
	animation: pumpDancerForearmLeft 1.28s ease-in-out infinite;
}

.pump-dancer-arm-right {
	animation: pumpDancerUpperArmRight 1.28s ease-in-out infinite;
}

.pump-dancer-arm-right::after {
	left: 100%;
	transform: rotate(48deg);
	transform-origin: 0 50%;
	animation: pumpDancerForearmRight 1.28s ease-in-out infinite;
}

.pump-dancer-leg {
	height: 45px;
}

.pump-dancer-leg::after {
	top: 100%;
	left: 0;
	width: 4px;
	height: 48px;
	transform-origin: 50% 0;
}

.pump-dancer-leg-left {
	animation: pumpDancerUpperLegLeft 1.28s ease-in-out infinite;
}

.pump-dancer-leg-left::after {
	transform: rotate(34deg);
	animation: pumpDancerLowerLegLeft 1.28s ease-in-out infinite;
}

.pump-dancer-leg-right {
	animation: pumpDancerUpperLegRight 1.28s ease-in-out infinite;
}

.pump-dancer-leg-right::after {
	transform: rotate(-34deg);
	animation: pumpDancerLowerLegRight 1.28s ease-in-out infinite;
}

.pump-dancer-floor {
	animation: pumpDancerFloorGroove 1.28s ease-in-out infinite;
}

.pump-dancer-beat-left {
	animation: pumpDancerBeatLeft 1.28s ease-out infinite;
}

.pump-dancer-beat-right {
	animation: pumpDancerBeatRight 1.28s .28s ease-out infinite;
}

@keyframes pumpDancerGroove {
	0%, 100% { transform: translateX(-50%) translate(-10px, 0) rotate(-5deg) scaleY(1); }
	20% { transform: translateX(-50%) translate(-3px, -15px) rotate(1deg) scaleY(1.03); }
	40% { transform: translateX(-50%) translate(11px, -2px) rotate(6deg) scaleY(.98); }
	60% { transform: translateX(-50%) translate(5px, -18px) rotate(-1deg) scaleY(1.04); }
	80% { transform: translateX(-50%) translate(-8px, -3px) rotate(-7deg) scaleY(.99); }
}

@keyframes pumpDancerHeadGroove {
	0%, 100% { transform: translateX(-50%) rotate(-13deg) translateY(0); }
	25% { transform: translateX(-50%) rotate(8deg) translateY(-3px); }
	50% { transform: translateX(-50%) rotate(14deg) translateY(1px); }
	75% { transform: translateX(-50%) rotate(-8deg) translateY(-4px); }
}

@keyframes pumpDancerUpperArmLeft {
	0%, 100% { transform: rotate(-34deg); }
	25% { transform: rotate(-112deg); }
	50% { transform: rotate(12deg); }
	75% { transform: rotate(-76deg); }
}

@keyframes pumpDancerForearmLeft {
	0%, 100% { transform: rotate(-62deg); }
	25% { transform: rotate(-8deg); }
	50% { transform: rotate(-96deg); }
	75% { transform: rotate(-26deg); }
}

@keyframes pumpDancerUpperArmRight {
	0%, 100% { transform: rotate(34deg); }
	25% { transform: rotate(18deg); }
	50% { transform: rotate(108deg); }
	75% { transform: rotate(-9deg); }
}

@keyframes pumpDancerForearmRight {
	0%, 100% { transform: rotate(62deg); }
	25% { transform: rotate(92deg); }
	50% { transform: rotate(10deg); }
	75% { transform: rotate(72deg); }
}

@keyframes pumpDancerUpperLegLeft {
	0%, 100% { transform: rotate(16deg); }
	25% { transform: rotate(-23deg); }
	50% { transform: rotate(31deg); }
	75% { transform: rotate(-7deg); }
}

@keyframes pumpDancerLowerLegLeft {
	0%, 100% { transform: rotate(28deg); }
	25% { transform: rotate(76deg); }
	50% { transform: rotate(5deg); }
	75% { transform: rotate(54deg); }
}

@keyframes pumpDancerUpperLegRight {
	0%, 100% { transform: rotate(-16deg); }
	25% { transform: rotate(-31deg); }
	50% { transform: rotate(23deg); }
	75% { transform: rotate(-27deg); }
}

@keyframes pumpDancerLowerLegRight {
	0%, 100% { transform: rotate(-30deg); }
	25% { transform: rotate(-7deg); }
	50% { transform: rotate(-74deg); }
	75% { transform: rotate(-18deg); }
}

@keyframes pumpDancerFloorGroove {
	0%, 100% { opacity: .3; transform: scaleX(.62); }
	25%, 75% { opacity: .72; transform: scaleX(.9); }
	50% { opacity: .48; transform: scaleX(1); }
}


/* About approach: sunglasses, raised hands and euro rain */
.pump-dancer-stage {
	isolation: isolate;
}

.pump-dancer {
	z-index: 3;
}

.pump-dancer-head::before,
.pump-dancer-head::after {
	content: "";
	position: absolute;
	display: block;
	background: currentColor;
}

.pump-dancer-head::before {
	top: 14px;
	left: 5px;
	width: 13px;
	height: 9px;
	border-radius: 4px 4px 7px 7px;
	box-shadow: 20px 0 0 currentColor;
}

.pump-dancer-head::after {
	top: 17px;
	left: 17px;
	width: 10px;
	height: 3px;
	border-radius: 999px;
}

.pump-dancer-floor {
	z-index: 2;
}

.pump-dancer-beat {
	z-index: 4;
}

.pump-euro-rain {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
}

.pump-euro-rain span {
	--euro-x: 50%;
	--euro-drift: 0px;
	--euro-size: 18px;
	--euro-duration: 3.8s;
	--euro-delay: 0s;
	--euro-spin: 80deg;
	position: absolute;
	top: -28px;
	left: var(--euro-x);
	display: block;
	color: currentColor;
	font-size: var(--euro-size);
	font-weight: 900;
	line-height: 1;
	opacity: 0;
	will-change: transform, opacity;
	animation: pumpEuroRain var(--euro-duration) var(--euro-delay) linear infinite;
}

.pump-euro-rain span:nth-child(1) { --euro-x: 8%; --euro-drift: 18px; --euro-size: 13px; --euro-duration: 3.2s; --euro-delay: -1.8s; --euro-spin: 110deg; }
.pump-euro-rain span:nth-child(2) { --euro-x: 19%; --euro-drift: -13px; --euro-size: 21px; --euro-duration: 4.1s; --euro-delay: -3.3s; --euro-spin: -95deg; }
.pump-euro-rain span:nth-child(3) { --euro-x: 31%; --euro-drift: 24px; --euro-size: 15px; --euro-duration: 3.6s; --euro-delay: -.7s; --euro-spin: 145deg; }
.pump-euro-rain span:nth-child(4) { --euro-x: 43%; --euro-drift: -18px; --euro-size: 24px; --euro-duration: 4.5s; --euro-delay: -2.4s; --euro-spin: -120deg; }
.pump-euro-rain span:nth-child(5) { --euro-x: 54%; --euro-drift: 12px; --euro-size: 17px; --euro-duration: 3.4s; --euro-delay: -3.8s; --euro-spin: 86deg; }
.pump-euro-rain span:nth-child(6) { --euro-x: 66%; --euro-drift: -25px; --euro-size: 12px; --euro-duration: 3.9s; --euro-delay: -1.1s; --euro-spin: -155deg; }
.pump-euro-rain span:nth-child(7) { --euro-x: 77%; --euro-drift: 19px; --euro-size: 22px; --euro-duration: 4.3s; --euro-delay: -2.9s; --euro-spin: 125deg; }
.pump-euro-rain span:nth-child(8) { --euro-x: 90%; --euro-drift: -16px; --euro-size: 14px; --euro-duration: 3.5s; --euro-delay: -.3s; --euro-spin: -80deg; }
.pump-euro-rain span:nth-child(9) { --euro-x: 14%; --euro-drift: 28px; --euro-size: 18px; --euro-duration: 4.6s; --euro-delay: -4.2s; --euro-spin: 170deg; }
.pump-euro-rain span:nth-child(10) { --euro-x: 38%; --euro-drift: -22px; --euro-size: 11px; --euro-duration: 3.3s; --euro-delay: -2.1s; --euro-spin: -135deg; }
.pump-euro-rain span:nth-child(11) { --euro-x: 61%; --euro-drift: 21px; --euro-size: 20px; --euro-duration: 4s; --euro-delay: -1.5s; --euro-spin: 105deg; }
.pump-euro-rain span:nth-child(12) { --euro-x: 84%; --euro-drift: -27px; --euro-size: 16px; --euro-duration: 4.4s; --euro-delay: -3.6s; --euro-spin: -165deg; }

@keyframes pumpEuroRain {
	0% {
		opacity: 0;
		transform: translate3d(0, -24px, 0) rotate(0deg) scale(.72);
	}
	12% {
		opacity: .64;
	}
	72% {
		opacity: .52;
	}
	100% {
		opacity: 0;
		transform: translate3d(var(--euro-drift), 292px, 0) rotate(var(--euro-spin)) scale(1.05);
	}
}

@keyframes pumpDancerForearmLeft {
	0%, 100% { transform: rotate(52deg); }
	25% { transform: rotate(96deg); }
	50% { transform: rotate(38deg); }
	75% { transform: rotate(78deg); }
}

@keyframes pumpDancerForearmRight {
	0%, 100% { transform: rotate(-52deg); }
	25% { transform: rotate(-82deg); }
	50% { transform: rotate(-36deg); }
	75% { transform: rotate(-98deg); }
}

/* Home journal */
.pump-home-journal {
	position: relative;
	overflow: hidden;
}

.pump-home-journal-head {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
	align-items: start;
	gap: clamp(40px, 7vw, 130px);
	margin-bottom: clamp(18px, 1.6vw, 26px);
}

.pump-home-journal-head .tt-heading {
	margin: 0;
}

.pump-home-journal-head .tt-heading-title {
	font-size: clamp(54px, 6.2vw, 104px);
	line-height: .86;
	letter-spacing: 0;
}

.pump-home-journal-head .tt-heading-title > span {
	display: block;
}

.pump-home-journal-intro {
	max-width: 520px;
	padding: 0;
}

.pump-home-journal-intro p {
	margin: 0 0 26px;
	font-size: clamp(17px, 1.35vw, 22px);
	line-height: 1.45;
}

.pump-home-journal-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(235px, 1fr));
	gap: 14px;
	min-height: 570px;
}

.pump-home-journal-card {
	position: relative;
	display: block;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	border: 1px solid rgba(22, 23, 26, .24);
	border-radius: 7px;
	color: #f4f1e9;
	background: #16171a;
	isolation: isolate;
}

.pump-home-journal-card-featured {
	grid-column: span 2;
	grid-row: span 2;
}

.pump-home-journal-image,
.pump-home-journal-image img,
.pump-home-journal-shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.pump-home-journal-image {
	margin: 0;
	overflow: hidden;
}

.pump-home-journal-image img {
	object-fit: cover;
	transition: transform .75s cubic-bezier(.22, .61, .36, 1);
}

.pump-home-journal-shade {
	z-index: 1;
	background: linear-gradient(180deg, rgba(9, 10, 12, .03) 20%, rgba(9, 10, 12, .88) 100%);
	transition: background-color .45s ease;
}

.pump-home-journal-content {
	position: absolute;
	inset: auto 0 0;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 14px;
	padding: clamp(20px, 2.1vw, 34px);
}

.pump-home-journal-topic {
	grid-column: 1 / -1;
	width: max-content;
	max-width: 100%;
	padding: 6px 9px 5px;
	border: 1px solid rgba(244, 241, 233, .58);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
}

.pump-home-journal-card h3 {
	min-width: 0;
	margin: 0;
	color: inherit;
	font-size: clamp(20px, 1.55vw, 29px);
	line-height: 1.08;
	letter-spacing: 0;
}

.pump-home-journal-card-featured h3 {
	max-width: 820px;
	font-size: clamp(31px, 3.2vw, 56px);
}

.pump-home-journal-arrow {
	display: grid;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	place-items: center;
	border: 1px solid rgba(244, 241, 233, .55);
	border-radius: 50%;
	font-size: 14px;
	transition: color .3s ease, background-color .3s ease, transform .3s ease;
}

.pump-home-journal-card:hover .pump-home-journal-image img,
.pump-home-journal-card:focus-visible .pump-home-journal-image img {
	transform: scale(1.045);
}

.pump-home-journal-card:hover .pump-home-journal-arrow,
.pump-home-journal-card:focus-visible .pump-home-journal-arrow {
	color: #16171a;
	background: #f4f1e9;
	transform: rotate(4deg);
}

.pump-home-journal-pagination,
.pump-home-journal-mobile-link {
	display: none;
}

body.tt-dark-mode-on .pump-home-journal-card {
	border-color: rgba(244, 241, 233, .26);
}

@media (max-width: 1100px) and (min-width: 768px) {
	.pump-home-journal-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: 440px repeat(2, 250px);
	}

	.pump-home-journal-card-featured {
		grid-column: span 2;
		grid-row: auto;
	}
}

@media (max-width: 767px) {
	.pump-home-journal {
		padding-top: 72px !important;
		padding-bottom: 84px !important;
	}

	.pump-home-journal-head {
		display: block;
		margin-bottom: 28px;
	}

	.pump-home-journal-head .tt-heading-title {
		font-size: 48px;
		line-height: .92;
	}

	.pump-home-journal-intro {
		margin-top: 22px;
		padding: 0;
	}

	.pump-home-journal-intro p {
		margin-bottom: 0;
		font-size: 16px;
	}

	.pump-home-journal-intro .tt-btn {
		display: none;
	}

	.pump-home-journal-carousel.is-mobile-carousel {
		width: 100%;
		overflow: hidden;
	}

	.pump-home-journal-carousel.is-mobile-carousel .pump-home-journal-grid.swiper-wrapper {
		display: flex;
		min-height: 0;
		gap: 0;
	}

	.pump-home-journal-carousel.is-mobile-carousel .pump-home-journal-card {
		grid-column: auto;
		grid-row: auto;
		width: 100%;
		height: 430px;
		min-height: 430px;
	}

	.pump-home-journal-card h3,
	.pump-home-journal-card-featured h3 {
		display: -webkit-box;
		overflow: hidden;
		font-size: 27px;
		line-height: 1.08;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
	}

	.pump-home-journal-content {
		padding: 22px;
	}

	.pump-home-journal-pagination {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 13px;
		width: 100%;
		min-height: 42px;
		margin-top: 18px;
		overflow: visible;
	}

	.pump-home-journal-pagination .swiper-pagination-bullet {
		display: block;
		width: 12px;
		height: 12px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 50%;
		opacity: 1;
		background: #16171a;
		cursor: pointer;
		transform: scale(.34);
		transition: transform .22s ease, background-color .22s ease;
	}

	.pump-home-journal-pagination .swiper-pagination-bullet.is-near {
		transform: scale(.66);
	}

	.pump-home-journal-pagination .swiper-pagination-bullet-active {
		background: #ad2f13;
		transform: scale(1);
	}

	body.tt-dark-mode-on .pump-home-journal-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
		background: #f4f1e9;
	}

	.pump-home-journal-mobile-link {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-top: 12px;
		padding: 17px 68px 17px 0;
		border-top: 1px solid currentColor;
		border-bottom: 1px solid currentColor;
		color: inherit;
		font-size: 16px;
		font-weight: 700;
	}
}

/* Home journal: reuse the pinned-blog composition on desktop. */
.pump-home-journal .pump-pinned-head {
	position: relative;
	z-index: 4;
}

.pump-home-journal .pump-pinned-grid {
	padding-top: clamp(14px, 1.6vw, 24px);
	overflow: visible;
}

.pump-home-journal-cta {
	display: none;
}

@media (max-width: 767px) {
	.pump-home-journal-carousel.is-mobile-carousel {
		overflow: hidden;
	}

	.pump-home-journal-carousel.is-mobile-carousel .pump-pinned-head {
		display: none;
	}

	.pump-home-journal-carousel.is-mobile-carousel .pump-pinned-grid.swiper-wrapper {
		display: flex;
		min-height: 0;
		gap: 0;
		padding: 0;
		overflow: visible;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}

	.pump-home-journal-carousel.is-mobile-carousel .pump-pinned-card,
	.pump-home-journal-carousel.is-mobile-carousel .pump-pinned-card-main,
	.pump-home-journal-carousel.is-mobile-carousel .pump-pinned-card:nth-child(4) {
		grid-column: auto;
		grid-row: auto;
		width: 100%;
		height: 430px;
		min-height: 430px;
		padding: 22px;
		border-radius: 18px;
	}

	.pump-home-journal-carousel.is-mobile-carousel .pump-pinned-card h2,
	.pump-home-journal-carousel.is-mobile-carousel .pump-pinned-card:not(.pump-pinned-card-main) h2 {
		display: -webkit-box;
		max-width: 94%;
		overflow: hidden;
		font-size: 25px;
		line-height: 1.08;
		letter-spacing: .02em;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
	}

	.pump-home-journal-carousel.is-mobile-carousel .pump-pinned-image {
		inset: 9px;
		border-radius: 11px;
	}

	.pump-home-journal-carousel.is-mobile-carousel .pump-pinned-card::before {
		inset: 9px;
		border-radius: 11px;
	}

	.pump-home-journal-carousel.is-mobile-carousel .pump-pinned-badge {
		top: 18px;
		left: 18px;
	}

	.pump-home-journal-carousel.is-mobile-carousel .pump-home-journal-cta {
		display: flex;
		align-items: stretch;
		border-color: rgba(255, 255, 255, .94);
		color: #16171a;
		background: #e7e4dc;
		box-shadow:
			0 15px 34px rgba(20, 20, 18, .16),
			inset 0 0 0 1px rgba(25, 25, 22, .12),
			inset 0 1px 0 #fff;
		-webkit-user-select: none;
		user-select: none;
	}

	.pump-home-journal-carousel.is-mobile-carousel .pump-home-journal-cta::before {
		background:
			linear-gradient(42deg, rgba(255, 255, 255, .54) 0%, transparent 35%, rgba(255, 248, 232, .46) 67%, transparent 100%),
			linear-gradient(137deg, #fff 0%, #e9e6dc 24%, #d8dbdd 48%, #f1e7d5 72%, #f8f7f3 100%);
	}

	.pump-home-journal-cta-content {
		position: relative;
		z-index: 2;
		display: flex;
		width: 100%;
		flex-direction: column;
		justify-content: flex-end;
		padding: 10px;
	}

	.pump-home-journal-cta-content > span:first-child {
		margin-bottom: auto;
		color: rgba(22, 23, 26, .58);
		font-size: 12px;
		font-weight: 700;
	}

	.pump-home-journal-carousel.is-mobile-carousel .pump-home-journal-cta h2 {
		display: block;
		max-width: 100%;
		margin: 0 0 16px;
		color: #16171a;
		background: transparent !important;
		font-size: 39px;
		line-height: .95;
		text-shadow: none;
	}

	.pump-home-journal-cta p {
		max-width: 270px;
		margin: 0;
		color: rgba(22, 23, 26, .68);
		font-size: 15px;
		line-height: 1.35;
	}

	.pump-home-journal-cta-arrow {
		display: grid;
		width: 54px;
		height: 54px;
		margin-top: 28px;
		place-items: center;
		border: 1px solid #16171a;
		border-radius: 50%;
		color: #f4f1e9;
		background: #16171a;
		font-size: 17px;
	}

	body.tt-dark-mode-on .pump-home-journal-carousel.is-mobile-carousel .pump-home-journal-cta {
		border-color: color-mix(in srgb, #f4f1e9 30%, transparent);
		color: #f4f1e9;
		background: color-mix(in srgb, #16171a 92%, var(--tt-bg-color));
		box-shadow:
			0 12px 30px rgba(0, 0, 0, .24),
			inset 0 1px 0 rgba(255, 255, 255, .1);
	}

	body.tt-dark-mode-on .pump-home-journal-carousel.is-mobile-carousel .pump-home-journal-cta::before {
		background:
			linear-gradient(145deg, rgba(255, 255, 255, .09), transparent 42%),
			#16171a;
	}

	body.tt-dark-mode-on .pump-home-journal-cta-content > span:first-child {
		color: rgba(244, 241, 233, .68);
	}

	body.tt-dark-mode-on .pump-home-journal-carousel.is-mobile-carousel .pump-home-journal-cta h2 {
		color: #f4f1e9;
	}

	body.tt-dark-mode-on .pump-home-journal-cta p {
		color: rgba(244, 241, 233, .7);
	}

	body.tt-dark-mode-on .pump-home-journal-cta-arrow {
		border-color: rgba(244, 241, 233, .48);
		color: #16171a;
		background: #f4f1e9;
	}
}

/* About: compact advantages grid and mobile carousel. */
.pump-about-advantage-links {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(12px, 1.3vw, 18px);
}

.pump-about-advantage-links .pump-related-link {
	min-height: 230px;
	padding: clamp(20px, 1.8vw, 28px);
}

.pump-about-advantage-links .pump-related-link span {
	margin-bottom: clamp(18px, 1.7vw, 24px);
	padding: 7px 11px;
}

.pump-about-advantage-links .pump-related-link h3 {
	margin-bottom: 11px;
	font-size: clamp(22px, 1.6vw, 28px);
	line-height: 1;
	letter-spacing: -.04em;
}

.pump-about-advantage-links .pump-related-link p {
	margin-bottom: 18px;
	font-size: clamp(11px, .72vw, 13px);
	line-height: 1.3;
}

.pump-about-advantages-pagination {
	display: none;
}

@media (min-width: 768px) and (max-width: 1100px) {
	.pump-about-advantage-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.pump-about-advantages-carousel.is-mobile-carousel {
		width: 100%;
		padding: 0 3px;
		overflow: hidden;
	}

	.pump-about-advantages-carousel.is-mobile-carousel .pump-about-advantage-links.swiper-wrapper {
		display: flex;
		align-items: stretch;
		flex-wrap: nowrap;
		gap: 0;
		margin-right: 0;
		margin-left: 0;
	}

	.pump-about-advantages-carousel.is-mobile-carousel .pump-related-link.swiper-slide {
		height: auto;
		min-height: 245px;
		padding: 24px;
	}

	.pump-about-advantages-carousel.is-mobile-carousel .pump-related-link h3 {
		font-size: clamp(23px, 7vw, 28px);
	}

	.pump-about-advantages-pagination {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		padding: 20px 0 4px;
		font-size: 0;
		white-space: nowrap;
		overflow: visible;
	}

	.pump-about-advantages-pagination .swiper-pagination-bullet {
		display: inline-block;
		width: 14px;
		height: 14px;
		margin: 7px !important;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: var(--tt-dark-color);
		opacity: 1;
		cursor: pointer;
		transform: scale(.33);
		transition: transform .2s ease, background-color .2s ease;
	}

	.pump-about-advantages-pagination .swiper-pagination-bullet-active {
		background: var(--tt-main-color);
		transform: scale(1);
	}

	.pump-about-advantages-pagination .swiper-pagination-bullet.is-near {
		transform: scale(.66);
	}

	.pump-about-advantages-pagination .swiper-pagination-bullet.is-far {
		transform: scale(.33);
	}

	body.tt-dark-mode-on .pump-about-advantages-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
		background: var(--tt-light-color);
	}
}

/* About: responsive spacing refinements for pains and process. */
@media (min-width: 641px) {
	.pump-about-process-section {
		padding-bottom: clamp(60px, 5vw, 82px) !important;
	}
}

@media (max-width: 640px) {
	.pump-pains-diagnostic {
		gap: 7px;
	}

	.pump-pain-row,
	.pump-pain-row:hover,
	.pump-pain-row:focus {
		grid-template-columns: 28px minmax(0, 1fr);
		gap: 12px;
		min-height: 0;
		padding: 13px 16px;
		transform: none;
	}

	.pump-pain-index {
		width: 28px;
		height: 28px;
		font-size: 7px;
	}

	.pump-pain-copy h3 {
		margin-bottom: 5px;
		font-size: 16px;
		line-height: 1.08;
	}

	.pump-pain-copy p {
		font-size: 11.5px;
		line-height: 1.34;
	}

	.pump-about-process-section {
		padding-bottom: 112px !important;
	}

	.pump-about-process-section .tt-heading {
		margin-bottom: 38px !important;
	}

	.pump-about-process-section .tt-heading-text {
		margin-top: 15px;
	}
}

/* Mobile footer: keep the main navigation groups side by side. */
@media (max-width: 767px) {
	#tt-footer .tt-footer-inner > .tt-row > :first-child h2 {
		font-size: clamp(23px, 6.5vw, 27px);
		line-height: 1.08;
		white-space: nowrap;
	}

	#tt-footer .tt-footer-inner > .tt-row > :nth-child(2),
	#tt-footer .tt-footer-inner > .tt-row > :nth-child(3) {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
		padding-right: 9px;
		padding-left: 9px;
	}

	#tt-footer .tt-footer-inner > .tt-row > :nth-child(2) {
		padding-left: 15px;
	}

	#tt-footer .tt-footer-inner > .tt-row > :nth-child(3) {
		padding-right: 15px;
	}

	#tt-footer .tt-footer-inner > .tt-row > :nth-child(2) .tt-footer-widget,
	#tt-footer .tt-footer-inner > .tt-row > :nth-child(3) .tt-footer-widget {
		margin-bottom: 34px;
	}

	#tt-footer .tt-footer-inner > .tt-row > :nth-child(2) .tt-footer-widget-heading,
	#tt-footer .tt-footer-inner > .tt-row > :nth-child(3) .tt-footer-widget-heading {
		margin-bottom: 17px;
		font-size: clamp(18px, 5vw, 21px);
		line-height: 1.1;
	}

	#tt-footer .tt-footer-inner > .tt-row > :nth-child(2) .tt-footer-widget-list li,
	#tt-footer .tt-footer-inner > .tt-row > :nth-child(3) .tt-footer-widget-list li {
		margin-bottom: 7px;
		font-size: clamp(12px, 3.5vw, 14px);
		line-height: 1.35;
	}
}

/* Web service hero: a live build system instead of background media. */
.pump-web-hero-v2 {
	min-height: max(760px, 100svh);
	padding: clamp(140px, 13vh, 190px) 0 clamp(72px, 8vh, 110px);
	overflow: hidden;
	background: var(--tt-bg-color);
}

.pump-web-hero-v2::before {
	background:
		linear-gradient(color-mix(in srgb, var(--tt-text-color) 7%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, var(--tt-text-color) 7%, transparent) 1px, transparent 1px);
	background-size: 32px 32px;
	-webkit-mask-image: none;
	mask-image: none;
}

.pump-web-hero-v2::after {
	position: absolute;
	inset: clamp(18px, 2.2vw, 38px);
	content: "";
	background:
		linear-gradient(var(--tt-main-color), var(--tt-main-color)) left bottom / 86px 2px no-repeat,
		linear-gradient(var(--tt-main-color), var(--tt-main-color)) left bottom / 2px 36px no-repeat,
		linear-gradient(color-mix(in srgb, var(--tt-text-color) 36%, transparent), color-mix(in srgb, var(--tt-text-color) 36%, transparent)) right top / 86px 1px no-repeat,
		linear-gradient(color-mix(in srgb, var(--tt-text-color) 36%, transparent), color-mix(in srgb, var(--tt-text-color) 36%, transparent)) right top / 1px 36px no-repeat;
	pointer-events: none;
}

.pump-web-hero-v2-inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(540px, 1.08fr);
	gap: clamp(42px, 5vw, 88px);
	align-items: center;
}

.pump-web-hero-v2-copy {
	position: relative;
	z-index: 5;
}

.pump-web-hero-status {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 24px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.pump-web-hero-status span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #19a53a;
	box-shadow: 0 0 0 5px color-mix(in srgb, #19a53a 16%, transparent);
	animation: pumpWebStatusPulse 2.6s ease-in-out infinite;
}

.pump-web-hero-v2-title {
	max-width: 9.5ch;
	margin: 0;
	font-size: clamp(62px, 6vw, 104px);
	line-height: .88;
	letter-spacing: 0;
}

.pump-web-hero-v2-lead {
	max-width: 680px;
	margin: 30px 0 0;
	font-size: clamp(17px, 1.2vw, 21px);
	font-weight: 600;
	line-height: 1.45;
	color: color-mix(in srgb, var(--tt-text-color) 74%, transparent);
}

.pump-web-v2-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 34px;
}

.pump-web-v2-actions .tt-btn {
	min-width: 220px;
	min-height: 56px;
	justify-content: center;
}

.pump-web-v2-actions-mobile {
	display: none;
}

.pump-web-hero-v2-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.pump-web-hero-v2-tags li {
	padding: 7px 10px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 28%, transparent);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.pump-web-hero-machine {
	position: relative;
	overflow: hidden;
	min-height: 640px;
	border-radius: 7px;
	color: #f0ede7;
	isolation: isolate;
}

.pump-web-hero-machine::before {
	position: absolute;
	inset: 4% 1% 4% 3%;
	z-index: -2;
	content: "";
	border: 1px solid rgba(240, 237, 231, .17);
	border-radius: 7px;
	background-color: #16171a;
	background-image:
		linear-gradient(rgba(240, 237, 231, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(240, 237, 231, .045) 1px, transparent 1px);
	background-size: 42px 42px;
	box-shadow: 14px 16px 0 color-mix(in srgb, var(--tt-text-color) 16%, transparent);
	transform: rotate(1.4deg);
}

.pump-web-hero-machine::after {
	position: absolute;
	inset: 7% 4% 7% 6%;
	z-index: -1;
	content: "";
	border: 1px solid rgba(240, 237, 231, .13);
	border-radius: 6px;
	transform: rotate(-1.2deg);
	pointer-events: none;
}

.pump-web-flow {
	position: absolute;
	top: -22%;
	z-index: 1;
	width: 106px;
	height: 145%;
	overflow: hidden;
	border-right: 1px solid rgba(240, 237, 231, .22);
	border-left: 1px solid rgba(240, 237, 231, .22);
	background: rgba(22, 23, 26, .88);
	box-shadow: 0 0 34px rgba(0, 0, 0, .2);
}

.pump-web-flow-one {
	left: 19%;
	transform: rotate(-17deg);
}

.pump-web-flow-two {
	right: 14%;
	transform: rotate(16deg);
}

.pump-web-flow-track {
	display: flex;
	align-items: stretch;
	flex-direction: column;
	gap: 16px;
	padding: 8px;
	animation: pumpWebFlowUp 16s linear infinite;
	will-change: transform;
}

.pump-web-flow-two .pump-web-flow-track {
	animation-name: pumpWebFlowDown;
	animation-duration: 19s;
}

.pump-web-flow span {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 90px;
	padding: 8px;
	border: 1px solid rgba(240, 237, 231, .32);
	border-radius: 999px;
	background: #f0ede7;
	color: #16171a;
	font-size: 9px;
	font-weight: 800;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

.pump-web-flow-two span {
	border-color: color-mix(in srgb, var(--tt-main-color) 72%, #fff 28%);
	background: var(--tt-main-color);
	color: #fff;
}

.pump-web-build-console {
	position: absolute;
	top: 18%;
	right: 9%;
	bottom: 16%;
	left: 12%;
	z-index: 3;
	overflow: hidden;
	border: 2px solid #16171a;
	border-radius: 7px;
	background: #f0ede7;
	color: #16171a;
	box-shadow: 10px 11px 0 rgba(0, 0, 0, .54);
	transform: rotate(-1.4deg);
	animation: pumpWebConsoleFloat 6s ease-in-out infinite;
}

.pump-web-build-bar {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 38px;
	padding: 0 13px;
	border-bottom: 1px solid rgba(22, 23, 26, .24);
}

.pump-web-build-bar > span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #16171a;
}

.pump-web-build-bar small {
	margin-left: 6px;
	font-size: 9px;
	opacity: .55;
}

.pump-web-build-bar b {
	margin-left: auto;
	padding: 5px 8px;
	border-radius: 999px;
	background: #16171a;
	color: #f0ede7;
	font-size: 8px;
}

.pump-web-build-screen {
	position: relative;
	min-height: calc(100% - 78px);
	padding: clamp(28px, 4vw, 56px);
	background-image:
		linear-gradient(rgba(22, 23, 26, .06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(22, 23, 26, .06) 1px, transparent 1px);
	background-size: 28px 28px;
}

.pump-web-build-kicker {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 10px;
	font-weight: 800;
}

.pump-web-build-kicker span {
	display: grid;
	width: 27px;
	height: 27px;
	place-items: center;
	border-radius: 50%;
	background: var(--tt-main-color);
	color: #fff;
}

.pump-web-build-screen > strong {
	display: block;
	margin-top: 28px;
	font-size: clamp(32px, 3.5vw, 53px);
	line-height: .92;
	letter-spacing: 0;
}

.pump-web-build-lines {
	display: grid;
	gap: 8px;
	width: 74%;
	margin-top: 28px;
}

.pump-web-build-lines i {
	display: block;
	height: 7px;
	background: #16171a;
	opacity: .18;
}

.pump-web-build-lines i:nth-child(2) { width: 82%; }
.pump-web-build-lines i:nth-child(3) { width: 56%; }

.pump-web-build-modules {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 7px;
	margin-top: 34px;
}

.pump-web-build-modules span {
	padding: 12px 5px;
	border: 1px solid rgba(22, 23, 26, .28);
	font-size: 9px;
	font-weight: 800;
	text-align: center;
}

.pump-web-build-footer {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	height: 40px;
	border-top: 1px solid rgba(22, 23, 26, .24);
}

.pump-web-build-footer span {
	display: grid;
	place-items: center;
	border-right: 1px solid rgba(22, 23, 26, .2);
	font-size: 8px;
	font-weight: 800;
}

.pump-web-build-footer span:last-child { border-right: 0; }

.pump-web-build-core {
	position: absolute;
	right: 1%;
	top: 47%;
	z-index: 5;
	display: grid;
	width: 112px;
	height: 112px;
	place-content: center;
	border: 2px solid #f0ede7;
	border-radius: 50%;
	background: #16171a;
	box-shadow: 0 0 0 9px rgba(157, 46, 19, .72), 0 14px 34px rgba(0, 0, 0, .3);
	text-align: center;
	animation: pumpWebCorePulse 3s ease-in-out infinite;
}

.pump-web-build-core span {
	font-size: 17px;
	font-weight: 800;
}

.pump-web-build-core small {
	margin-top: 3px;
	font-size: 7px;
	font-weight: 700;
	opacity: .58;
}

.pump-web-machine-note {
	position: absolute;
	z-index: 5;
	padding: 7px 10px;
	border: 1px solid rgba(240, 237, 231, .3);
	background: #16171a;
	font-size: 8px;
	font-weight: 800;
	letter-spacing: .08em;
}

.pump-web-machine-note-a { left: 2%; bottom: 9%; }
.pump-web-machine-note-b { right: 2%; top: 9%; }

.pump-web-v2-scroll {
	position: absolute;
	right: clamp(24px, 4vw, 72px);
	bottom: clamp(22px, 3vw, 48px);
	z-index: 7;
	display: grid;
	width: 56px;
	height: 56px;
	place-items: center;
	border-radius: 50%;
	background: var(--tt-text-color);
	color: var(--tt-bg-color);
	transition: transform .25s ease;
}

.pump-web-v2-scroll:hover { transform: translateY(5px); }

@keyframes pumpWebFlowUp {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(0, -50%, 0); }
}

@keyframes pumpWebFlowDown {
	from { transform: translate3d(0, -50%, 0); }
	to { transform: translate3d(0, 0, 0); }
}

@keyframes pumpWebConsoleFloat {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(-1.4deg); }
	50% { transform: translate3d(0, -8px, 0) rotate(-.5deg); }
}

@keyframes pumpWebCorePulse {
	0%, 100% { box-shadow: 0 0 0 9px rgba(157, 46, 19, .62), 0 14px 34px rgba(0, 0, 0, .3); }
	50% { box-shadow: 0 0 0 15px rgba(157, 46, 19, .18), 0 18px 42px rgba(0, 0, 0, .38); }
}

@keyframes pumpWebStatusPulse {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(.74); opacity: .62; }
}

@media (max-width: 1200px) {
	.pump-web-hero-v2-inner {
		grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr);
		gap: 34px;
	}

	.pump-web-hero-v2-title { font-size: clamp(58px, 6vw, 78px); }
	.pump-web-build-core { right: 0; }
}

@media (max-width: 1024px) {
	.pump-web-hero-v2 {
		min-height: auto;
		padding-top: 145px;
	}

	.pump-web-hero-v2-inner {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.pump-web-hero-v2-title { max-width: 11ch; }
	.pump-web-hero-v2-lead { max-width: 760px; }
	.pump-web-hero-machine { min-height: 590px; }
}

@media (max-width: 767px) {
	.pump-web-hero-v2 {
		padding: 116px 0 76px;
	}

	.pump-web-hero-v2::after { inset: 12px; }

	.pump-web-hero-v2-inner { gap: 34px; }

	.pump-web-hero-status {
		margin-bottom: 18px;
		font-size: 10px;
	}

	.pump-web-hero-v2-title {
		max-width: 10ch;
		font-size: clamp(43px, 13vw, 56px);
		line-height: .91;
	}

	.pump-web-hero-v2-lead {
		margin-top: 22px;
		font-size: 16px;
		line-height: 1.42;
	}

	.pump-web-v2-actions-desktop { display: none; }

	.pump-web-v2-actions-mobile {
		display: flex;
		align-items: stretch;
		flex-direction: column;
		gap: 13px;
		max-width: 250px;
		margin-top: 28px;
	}

	.pump-web-v2-actions-mobile .tt-btn {
		width: 100%;
		min-width: 0;
		min-height: 50px;
		margin: 0 !important;
	}

	.pump-web-hero-v2-tags {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-right: -15px;
		padding-right: 15px;
		scrollbar-width: none;
	}

	.pump-web-hero-v2-tags::-webkit-scrollbar { display: none; }
	.pump-web-hero-v2-tags li { flex: 0 0 auto; }

	.pump-web-hero-machine { min-height: 455px; }

	.pump-web-hero-machine::before {
		inset: 4% 0 4% 0;
		background-size: 30px 30px;
		box-shadow: 7px 8px 0 color-mix(in srgb, var(--tt-text-color) 16%, transparent);
	}

	.pump-web-hero-machine::after { inset: 7% 3%; }

	.pump-web-flow {
		top: -14%;
		width: 66px;
		height: 132%;
	}

	.pump-web-flow-one { left: 18%; }
	.pump-web-flow-two { right: 14%; }

	.pump-web-flow-track {
		gap: 10px;
		padding: 5px;
	}

	.pump-web-flow span {
		height: 58px;
		padding: 5px;
		font-size: 6px;
	}

	.pump-web-build-console {
		top: 17%;
		right: 7%;
		bottom: 15%;
		left: 7%;
		box-shadow: 6px 7px 0 rgba(0, 0, 0, .52);
	}

	.pump-web-build-screen { padding: 25px 22px; }
	.pump-web-build-screen > strong { font-size: clamp(30px, 10vw, 40px); }
	.pump-web-build-modules span { padding: 9px 3px; font-size: 7px; }

	.pump-web-build-core {
		right: 1%;
		top: 48%;
		width: 78px;
		height: 78px;
		box-shadow: 0 0 0 6px rgba(157, 46, 19, .72), 0 10px 25px rgba(0, 0, 0, .3);
	}

	.pump-web-build-core span { font-size: 13px; }
	.pump-web-machine-note { font-size: 6px; }
	.pump-web-machine-note-a { left: 1%; }
	.pump-web-machine-note-b { right: 1%; }

	.pump-web-v2-scroll {
		right: 18px;
		bottom: 18px;
		width: 48px;
		height: 48px;
	}
}


/* Web service hero: loose website components assemble into a working interface. */
.pump-web-hero-v2::after {
	display: none;
}

.pump-web-assembly {
	position: relative;
	min-height: 610px;
	overflow: hidden;
	border: 1px solid rgba(240, 237, 231, .18);
	border-radius: 8px;
	outline: none;
	background-color: #16171a;
	background-image:
		linear-gradient(rgba(240, 237, 231, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(240, 237, 231, .045) 1px, transparent 1px);
	background-size: 38px 38px;
	box-shadow: 13px 15px 0 color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	color: #f0ede7;
	isolation: isolate;
}

.pump-web-assembly::before {
	position: absolute;
	top: 14%;
	left: 44%;
	width: 310px;
	height: 310px;
	content: "";
	border: 1px dashed rgba(240, 237, 231, .14);
	border-radius: 50%;
	transform: translate(-50%, 0) scale(1);
	transition: opacity .7s ease, transform .9s cubic-bezier(.2, .75, .2, 1);
}

.pump-web-assembly-head {
	position: relative;
	z-index: 12;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 52px;
	padding: 0 20px;
	border-bottom: 1px solid rgba(240, 237, 231, .14);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .04em;
}

.pump-web-assembly-head > div {
	display: flex;
	align-items: center;
	gap: 8px;
}

.pump-web-assembly-head i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #9aa09b;
	box-shadow: 0 0 0 5px rgba(154, 160, 155, .12);
	transition: background-color .45s ease, box-shadow .45s ease;
}

.pump-web-assembly-head b {
	font-size: inherit;
	font-weight: inherit;
}

.pump-web-assembly-state-live {
	display: none;
}

.pump-web-assembly-stage {
	position: relative;
	min-height: 558px;
}

.pump-web-browser-ghost {
	position: absolute;
	top: 10%;
	right: 8%;
	bottom: 9%;
	left: 8%;
	z-index: 1;
	border: 1px solid rgba(240, 237, 231, .3);
	border-radius: 6px;
	opacity: .16;
	transform: scale(.94);
	transition: opacity .7s ease, transform .9s cubic-bezier(.2, .75, .2, 1);
}

.pump-web-browser-bar {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 34px;
	padding: 0 12px;
	border-bottom: 1px solid rgba(240, 237, 231, .2);
}

.pump-web-browser-bar i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #f0ede7;
	opacity: .65;
}

.pump-web-browser-bar span {
	margin-left: 6px;
	font-size: 8px;
	opacity: .52;
}

.pump-web-piece {
	position: absolute;
	z-index: 4;
	box-sizing: border-box;
	border: 1px solid rgba(22, 23, 26, .22);
	border-radius: 5px;
	background: #f0ede7;
	color: #16171a;
	box-shadow: 7px 8px 0 rgba(0, 0, 0, .25);
	transition:
		top .9s cubic-bezier(.2, .75, .2, 1),
		right .9s cubic-bezier(.2, .75, .2, 1),
		bottom .9s cubic-bezier(.2, .75, .2, 1),
		left .9s cubic-bezier(.2, .75, .2, 1),
		width .9s cubic-bezier(.2, .75, .2, 1),
		height .9s cubic-bezier(.2, .75, .2, 1),
		transform .9s cubic-bezier(.2, .75, .2, 1),
		box-shadow .6s ease;
}

.pump-web-piece-nav {
	top: 8%;
	left: 7%;
	display: flex;
	align-items: center;
	gap: 9px;
	width: 43%;
	height: 54px;
	padding: 0 15px;
	transform: rotate(-7deg);
}

.pump-web-piece-nav strong {
	margin-right: auto;
	font-size: 14px;
}

.pump-web-piece-nav > span {
	width: 23px;
	height: 3px;
	background: #16171a;
	opacity: .26;
}

.pump-web-piece-nav em {
	font-size: 7px;
	font-style: normal;
	font-weight: 800;
}

.pump-web-piece-copy {
	top: 23%;
	left: 49%;
	width: 42%;
	height: 168px;
	padding: 22px;
	transform: rotate(6deg);
}

.pump-web-piece-copy small {
	font-size: 7px;
	font-weight: 800;
	opacity: .52;
}

.pump-web-piece-copy strong {
	display: block;
	margin: 19px 0 17px;
	font-size: clamp(22px, 2.2vw, 34px);
	line-height: .9;
}

.pump-web-piece-copy i {
	display: block;
	width: 76%;
	height: 5px;
	margin-top: 7px;
	background: #16171a;
	opacity: .16;
}

.pump-web-piece-copy i:last-child { width: 48%; }

.pump-web-piece-visual {
	top: 51%;
	left: 7%;
	width: 36%;
	height: 170px;
	overflow: hidden;
	background: #d9d5ce;
	transform: rotate(7deg);
}

.pump-web-piece-visual i {
	position: absolute;
	border: 1px solid #16171a;
	border-radius: 50%;
}

.pump-web-piece-visual i:first-child {
	top: 23%;
	left: 18%;
	width: 92px;
	height: 92px;
	background: #16171a;
}

.pump-web-piece-visual i:nth-child(2) {
	right: 12%;
	bottom: -10%;
	width: 118px;
	height: 118px;
	background: #f0ede7;
}

.pump-web-piece-visual span {
	position: absolute;
	right: 12px;
	top: 12px;
	font-size: 7px;
	font-weight: 800;
}

.pump-web-piece-cta {
	top: 10%;
	right: 9%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 27%;
	height: 56px;
	padding: 0 15px;
	background: #f0ede7;
	color: #16171a;
	box-shadow: 7px 8px 0 rgba(0, 0, 0, .25);
	transform: rotate(8deg);
}

.pump-web-piece-cta span,
.pump-web-piece-cta i {
	font-size: 8px;
	font-style: normal;
	font-weight: 800;
}

.pump-web-piece-proof {
	right: 7%;
	bottom: 11%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: 43%;
	height: 66px;
	transform: rotate(-6deg);
}

.pump-web-piece-proof span {
	display: grid;
	place-items: center;
	border-right: 1px solid rgba(22, 23, 26, .18);
	font-size: 7px;
	font-weight: 800;
}

.pump-web-piece-proof span:last-child { border-right: 0; }

.pump-web-piece-form {
	bottom: 8%;
	left: 14%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 35%;
	height: 54px;
	padding: 0 9px 0 14px;
	transform: rotate(5deg);
}

.pump-web-piece-form span {
	font-size: 7px;
	opacity: .55;
}

.pump-web-piece-form b {
	padding: 9px 12px;
	border-radius: 3px;
	background: #16171a;
	color: #f0ede7;
	font-size: 7px;
}

.pump-web-assembly-core {
	position: absolute;
	top: 43%;
	left: 43%;
	z-index: 8;
	display: grid;
	width: 106px;
	height: 106px;
	place-content: center;
	border: 1px solid rgba(240, 237, 231, .72);
	border-radius: 50%;
	background: #16171a;
	box-shadow: 0 0 0 10px rgba(240, 237, 231, .07);
	text-align: center;
	transform: translate(-50%, -50%);
	transition: top .9s cubic-bezier(.2, .75, .2, 1), left .9s cubic-bezier(.2, .75, .2, 1), width .9s ease, height .9s ease, box-shadow .6s ease;
	animation: pumpWebAssemblyPulse 2.8s ease-in-out infinite;
}

.pump-web-assembly-core span { font-size: 15px; font-weight: 800; }
.pump-web-assembly-core small { margin-top: 3px; font-size: 7px; opacity: .55; }

.pump-web-assembly-hint {
	position: absolute;
	right: 20px;
	bottom: 15px;
	z-index: 11;
	margin: 0;
	font-size: 8px;
	font-weight: 800;
	text-transform: uppercase;
	opacity: .62;
}

.pump-web-assembly-hint span:last-child { display: none; }

.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-browser-ghost {
	opacity: .72;
	transform: scale(1);
}

.pump-web-assembly:is(:hover, :focus, :focus-within)::before {
	opacity: 0;
	transform: translate(-50%, 0) scale(.72);
}

.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-piece {
	box-shadow: none;
	transform: rotate(0);
}

.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-piece-nav {
	top: 17%; left: 12%; width: 76%; height: 49px;
}

.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-piece-copy {
	top: 29%; left: 12%; width: 42%; height: 175px;
}

.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-piece-visual {
	top: 29%; left: 58%; width: 30%; height: 175px;
}

.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-piece-cta {
	top: 64%; right: auto; left: 12%; width: 25%; height: 48px;
}

.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-piece-proof {
	right: 12%; bottom: 17%; width: 47%; height: 48px;
}

.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-piece-form {
	bottom: 7%; left: 12%; width: 76%; height: 45px;
}

.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-assembly-core {
	top: 19%;
	left: 84%;
	width: 58px;
	height: 58px;
	box-shadow: 0 0 0 6px rgba(240, 237, 231, .08);
}

.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-assembly-core span { font-size: 10px; }
.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-assembly-core small { display: none; }
.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-assembly-head i { background: #36b66a; box-shadow: 0 0 0 5px rgba(54, 182, 106, .13); }
.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-assembly-state-chaos { display: none; }
.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-assembly-state-live { display: inline; }
.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-assembly-hint span:first-child { display: none; }
.pump-web-assembly:is(:hover, :focus, :focus-within) .pump-web-assembly-hint span:last-child { display: inline; }

@keyframes pumpWebAssemblyPulse {
	0%, 100% { box-shadow: 0 0 0 8px rgba(240, 237, 231, .05); }
	50% { box-shadow: 0 0 0 14px rgba(240, 237, 231, .11); }
}

@media (max-width: 1200px) {
	.pump-web-assembly { min-height: 560px; }
	.pump-web-assembly-stage { min-height: 508px; }
}

@media (max-width: 1024px) {
	.pump-web-assembly { min-height: 600px; }
	.pump-web-assembly-stage { min-height: 548px; }
}

@media (max-width: 767px) {
	.pump-web-assembly {
		min-height: 455px;
		box-shadow: 7px 8px 0 color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	}

	.pump-web-assembly-head {
		height: 43px;
		padding: 0 12px;
		font-size: 7px;
	}

	.pump-web-assembly-stage { min-height: 412px; }
	.pump-web-assembly::before { display: none; }
	.pump-web-browser-ghost { top: 7%; right: 5%; bottom: 7%; left: 5%; opacity: .72; transform: none; }
	.pump-web-browser-bar { height: 27px; }

	.pump-web-piece { box-shadow: none; transform: none; }
	.pump-web-piece-nav { top: 15%; left: 9%; width: 82%; height: 41px; padding: 0 9px; }
	.pump-web-piece-nav strong { font-size: 10px; }
	.pump-web-piece-nav > span { width: 15px; height: 2px; }
	.pump-web-piece-copy { top: 28%; left: 9%; width: 44%; height: 135px; padding: 14px; }
	.pump-web-piece-copy strong { margin: 12px 0; font-size: 20px; }
	.pump-web-piece-visual { top: 28%; left: 56%; width: 35%; height: 135px; }
	.pump-web-piece-visual i:first-child { width: 65px; height: 65px; }
	.pump-web-piece-visual i:nth-child(2) { width: 78px; height: 78px; }
	.pump-web-piece-cta { top: 63%; right: auto; left: 9%; width: 30%; height: 40px; }
	.pump-web-piece-proof { right: 9%; bottom: 17%; width: 48%; height: 40px; }
	.pump-web-piece-form { bottom: 6%; left: 9%; width: 82%; height: 38px; }

	.pump-web-assembly-core {
		top: 17%;
		left: 85%;
		width: 46px;
		height: 46px;
		box-shadow: 0 0 0 5px rgba(240, 237, 231, .08);
	}

	.pump-web-assembly-core span { font-size: 8px; }
	.pump-web-assembly-core small { display: none; }
	.pump-web-assembly-state-chaos { display: none; }
	.pump-web-assembly-state-live { display: inline; }
	.pump-web-assembly-head i { background: #36b66a; box-shadow: 0 0 0 4px rgba(54, 182, 106, .13); }
	.pump-web-assembly-hint { right: 12px; bottom: 9px; font-size: 6px; }
	.pump-web-assembly-hint span:first-child { display: none; }
	.pump-web-assembly-hint span:last-child { display: inline; }
}


/* Web service hero: focused copy with a compact live website monitor. */
.pump-web-hero-v2-inner {
	grid-template-columns: minmax(0, 7fr) minmax(300px, 3fr);
	gap: clamp(42px, 5vw, 82px);
}

.pump-web-hero-v2-title {
	max-width: 12ch;
	font-size: clamp(66px, 6.6vw, 112px);
}

.pump-web-hero-v2-lead { max-width: 780px; }

.pump-web-signal {
	position: relative;
	overflow: hidden;
	min-height: 480px;
	border: 1px solid rgba(240, 237, 231, .2);
	border-radius: 7px;
	outline: none;
	background-color: #16171a;
	background-image: linear-gradient(rgba(240, 237, 231, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(240, 237, 231, .045) 1px, transparent 1px);
	background-size: 28px 28px;
	box-shadow: 10px 12px 0 color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	color: #f0ede7;
	isolation: isolate;
}

.pump-web-signal::before {
	position: absolute;
	top: -30%;
	bottom: -30%;
	left: -40%;
	width: 48%;
	content: "";
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .055), transparent);
	transform: rotate(12deg);
	animation: pumpWebSignalScan 7s ease-in-out infinite;
	pointer-events: none;
}

.pump-web-signal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 48px;
	padding: 0 16px;
	border-bottom: 1px solid rgba(240, 237, 231, .15);
	font-size: 8px;
	font-weight: 800;
}

.pump-web-signal-head b { display: flex; align-items: center; gap: 7px; font-size: inherit; }
.pump-web-signal-head i { width: 7px; height: 7px; border-radius: 50%; background: #37bd66; box-shadow: 0 0 0 5px rgba(55, 189, 102, .12); animation: pumpWebStatusPulse 2.2s ease-in-out infinite; }

.pump-web-signal-score { padding: 34px 22px 25px; border-bottom: 1px solid rgba(240, 237, 231, .12); }
.pump-web-signal-score span { display: block; font-size: 8px; font-weight: 800; opacity: .5; }
.pump-web-signal-score strong { display: block; margin-top: 9px; font-size: clamp(38px, 3.2vw, 54px); line-height: .9; }
.pump-web-signal-score small { display: block; margin-top: 12px; font-size: 10px; font-weight: 600; opacity: .66; }

.pump-web-signal-feed { display: grid; gap: 8px; padding: 14px; }

.pump-web-signal-event {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	min-height: 62px;
	padding: 10px;
	border: 1px solid rgba(240, 237, 231, .15);
	border-radius: 5px;
	background: rgba(240, 237, 231, .055);
	animation: pumpWebSignalEvent 6s ease-in-out infinite;
}

.pump-web-signal-event:nth-child(2) { animation-delay: -4s; }
.pump-web-signal-event:nth-child(3) { animation-delay: -2s; }
.pump-web-signal-event > i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #f0ede7; color: #16171a; font-size: 10px; }
.pump-web-signal-event span, .pump-web-signal-event b, .pump-web-signal-event small { display: block; min-width: 0; }
.pump-web-signal-event b { font-size: 10px; }
.pump-web-signal-event small { margin-top: 3px; font-size: 7px; opacity: .54; }
.pump-web-signal-event em { font-size: 9px; font-style: normal; font-weight: 800; }

.pump-web-signal-foot { position: absolute; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(3, 1fr); height: 36px; border-top: 1px solid rgba(240, 237, 231, .13); }
.pump-web-signal-foot span { display: grid; place-items: center; border-right: 1px solid rgba(240, 237, 231, .1); font-size: 7px; font-weight: 800; opacity: .55; }
.pump-web-signal-foot span:last-child { border-right: 0; }
.pump-web-signal:is(:hover, :focus, :focus-within) .pump-web-signal-event { border-color: rgba(240, 237, 231, .32); background: rgba(240, 237, 231, .1); }

@keyframes pumpWebSignalScan {
	0%, 18% { transform: translateX(0) rotate(12deg); opacity: 0; }
	35%, 60% { opacity: 1; }
	82%, 100% { transform: translateX(410%) rotate(12deg); opacity: 0; }
}

@keyframes pumpWebSignalEvent {
	0%, 100% { transform: translateX(0); opacity: .68; }
	12%, 30% { transform: translateX(-5px); opacity: 1; }
	42%, 90% { transform: translateX(0); opacity: .68; }
}

@media (max-width: 1200px) {
	.pump-web-hero-v2-inner { grid-template-columns: minmax(0, 2fr) minmax(290px, 1fr); gap: 34px; }
	.pump-web-hero-v2-title { font-size: clamp(58px, 6.3vw, 82px); }
}

@media (max-width: 1024px) {
	.pump-web-hero-v2-inner { grid-template-columns: 1fr; gap: 42px; }
	.pump-web-signal { width: min(100%, 520px); min-height: 430px; }
}

@media (max-width: 767px) {
	.pump-web-hero-v2-inner { gap: 32px; }
	.pump-web-hero-v2-title { max-width: 10ch; }
	.pump-web-v2-actions-mobile { gap: 12px; }
	.pump-web-signal { min-height: 405px; box-shadow: 7px 8px 0 color-mix(in srgb, var(--tt-text-color) 14%, transparent); }
	.pump-web-signal-score { padding: 27px 18px 20px; }
	.pump-web-signal-feed { padding: 11px; }
	.pump-web-signal-event { min-height: 58px; }
}


/* Web service hero: moving project showcase and template marquees. */
.pump-web-hero-v2 {
	padding-bottom: 0;
}

.pump-web-hero-v2-inner {
	grid-template-columns: minmax(0, 7fr) minmax(300px, 3fr);
	gap: clamp(38px, 4vw, 68px);
	min-height: 560px;
}

.pump-web-hero-v2-title {
	max-width: 13ch;
	font-size: 76px;
	line-height: .92;
}

.pump-web-v2-actions .tt-btn {
	will-change: transform;
}

.pump-web-showcase {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	height: 520px;
	overflow: hidden;
	padding: 12px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 20%, transparent);
	border-radius: 7px;
	outline: none;
	background: #16171a;
	box-shadow: 10px 12px 0 color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	transform: perspective(1000px) rotateY(-6deg) rotateZ(1.4deg);
	transform-origin: center;
	isolation: isolate;
}

.pump-web-showcase::before,
.pump-web-showcase::after {
	position: absolute;
	right: 0;
	left: 0;
	z-index: 5;
	height: 70px;
	content: "";
	pointer-events: none;
}

.pump-web-showcase::before {
	top: 0;
	background: linear-gradient(#16171a, transparent);
}

.pump-web-showcase::after {
	bottom: 0;
	background: linear-gradient(transparent, #16171a);
}

.pump-web-showcase-lane {
	min-width: 0;
	overflow: hidden;
	border-radius: 4px;
}

.pump-web-showcase-track {
	display: flex;
	flex-direction: column;
	gap: 10px;
	will-change: transform;
	animation: pumpWebShowcaseUp 36s linear infinite;
}

.pump-web-showcase-lane-reverse .pump-web-showcase-track {
	animation-name: pumpWebShowcaseDown;
	animation-duration: 42s;
}

.pump-web-showcase:is(:hover, :focus, :focus-within) .pump-web-showcase-track {
	animation-play-state: paused;
}

.pump-web-showcase figure {
	position: relative;
	flex: 0 0 210px;
	min-height: 210px;
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(240, 237, 231, .22);
	border-radius: 4px;
	background: #28292c;
}

.pump-web-showcase img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s ease;
}

.pump-web-showcase:is(:hover, :focus, :focus-within) figure:hover img {
	transform: scale(1.035);
}

.pump-web-showcase figcaption {
	position: absolute;
	right: 7px;
	bottom: 7px;
	left: 7px;
	padding: 7px 8px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 3px;
	background: rgba(15, 16, 18, .78);
	color: #f0ede7;
	font-size: 7px;
	font-weight: 800;
	text-transform: uppercase;
	backdrop-filter: blur(7px);
}

@keyframes pumpWebShowcaseUp {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(0, calc(-50% - 5px), 0); }
}

@keyframes pumpWebShowcaseDown {
	from { transform: translate3d(0, calc(-50% - 5px), 0); }
	to { transform: translate3d(0, 0, 0); }
}

.pump-web-hero-marquee {
	position: relative;
	z-index: 3;
	margin-top: 18px;
	padding: 22px 0 34px;
	pointer-events: none;
}

.pump-web-hero-marquee .tt-scrolling-text-crossed-inner {
	margin-right: -80px;
	margin-left: -80px;
}

.pump-web-hero-marquee .tt-scrolling-text {
	font-size: 44px;
	line-height: 1.05;
}

.pump-web-hero-marquee .tt-scrolling-text:nth-child(1) {
	transform: translateY(45%) rotate(4deg);
}

.pump-web-hero-marquee .tt-scrolling-text:nth-child(2) {
	transform: translateY(-45%) rotate(-4deg);
}

.pump-web-hero-marquee .tt-scrt-separator i {
	display: inline-grid;
	width: 38px;
	height: 38px;
	place-items: center;
	font-size: 24px;
}

@media (max-width: 1200px) {
	.pump-web-hero-v2-title { font-size: 64px; }
	.pump-web-showcase { height: 480px; }
	.pump-web-showcase figure { flex-basis: 190px; min-height: 190px; }
}

@media (max-width: 1024px) {
	.pump-web-hero-v2-inner {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.pump-web-hero-v2-title { max-width: 12ch; }
	.pump-web-showcase {
		width: min(100%, 560px);
		margin-left: auto;
		transform: perspective(1000px) rotateY(-3deg) rotateZ(1deg);
	}
}

@media (max-width: 767px) {
	.pump-web-hero-v2-title {
		max-width: 10ch;
		font-size: 46px;
	}

	.pump-web-showcase {
		height: 410px;
		padding: 9px;
		gap: 8px;
		box-shadow: 7px 8px 0 color-mix(in srgb, var(--tt-text-color) 14%, transparent);
		transform: none;
	}

	.pump-web-showcase-track { gap: 8px; animation-duration: 32s; }
	.pump-web-showcase-lane-reverse .pump-web-showcase-track { animation-duration: 37s; }
	.pump-web-showcase figure { flex-basis: 160px; min-height: 160px; }
	.pump-web-showcase figcaption { display: none; }

	.pump-web-hero-marquee {
		margin-top: 8px;
		padding: 18px 0 28px;
	}

	.pump-web-hero-marquee .tt-scrolling-text { font-size: 27px; }
	.pump-web-hero-marquee .tt-scrt-separator i { width: 25px; height: 25px; font-size: 15px; }
}


/* Web service hero: Landing Page 3 composition with the native image trail. */
#page-header.pump-web-trail-hero {
	position: relative;
	overflow: hidden;
	background-color: var(--tt-bg-color);
	background-image: var(--tt-bg-pattern);
	background-size: var(--tt-bg-pattern-size);
	isolation: isolate;
}

#page-header.pump-web-trail-hero::after {
	position: absolute;
	inset: 0;
	z-index: 2;
	content: "";
	background: color-mix(in srgb, var(--tt-bg-color) 12%, transparent);
	pointer-events: none;
}

.pump-web-digital-field {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
}

.pump-web-digital-node {
	--cursor-x: 0px;
	--cursor-y: 0px;
	position: absolute;
	display: grid;
	width: clamp(42px, 3.3vw, 62px);
	aspect-ratio: 1;
	place-items: center;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 23%, transparent);
	border-radius: 50%;
	background: color-mix(in srgb, var(--tt-bg-color) 80%, transparent);
	box-shadow: 5px 6px 0 color-mix(in srgb, var(--tt-text-color) 8%, transparent);
	color: color-mix(in srgb, var(--tt-text-color) 72%, transparent);
	backdrop-filter: blur(5px);
	will-change: transform;
	animation-name: pumpWebDigitalFloat;
	animation-duration: 16s !important;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite !important;
}

.pump-web-digital-node > span {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
}

.pump-web-digital-node i {
	font-size: clamp(15px, 1.15vw, 21px);
}

.pump-web-digital-node-code { --float-x: 18px; --float-y: 13px; --node-rotate: -8deg; top: 22%; left: 7%; }
.pump-web-digital-node-window { --float-x: -15px; --float-y: 20px; --node-rotate: 7deg; top: 56%; left: 12%; }
.pump-web-digital-node-cursor { --float-x: 22px; --float-y: -16px; --node-rotate: -5deg; top: 72%; left: 27%; }
.pump-web-digital-node-mobile { --float-x: -18px; --float-y: 14px; --node-rotate: 7deg; top: 19%; right: 9%; }
.pump-web-digital-node-search { --float-x: 15px; --float-y: -20px; --node-rotate: -8deg; top: 55%; right: 12%; }
.pump-web-digital-node-flow { --float-x: -22px; --float-y: -13px; --node-rotate: 5deg; top: 73%; right: 27%; }

.pump-web-digital-node-window,
.pump-web-digital-node-search { animation-delay: -2.4s; animation-duration: 14.5s !important; }
.pump-web-digital-node-cursor,
.pump-web-digital-node-mobile { animation-delay: -4.1s; animation-duration: 17.2s !important; }
.pump-web-digital-node-flow { animation-delay: -6.6s; animation-duration: 18.4s !important; }

@keyframes pumpWebDigitalFloat {
	0%, 100% { transform: translate3d(var(--cursor-x), var(--cursor-y), 0) rotate(var(--node-rotate)); }
	25% { transform: translate3d(calc(var(--cursor-x) + var(--float-x)), var(--cursor-y), 0) rotate(calc(var(--node-rotate) + 3deg)); }
	55% { transform: translate3d(var(--cursor-x), calc(var(--cursor-y) + var(--float-y)), 0) rotate(calc(var(--node-rotate) + 5deg)); }
	78% { transform: translate3d(calc(var(--cursor-x) - var(--float-x)), var(--cursor-y), 0) rotate(calc(var(--node-rotate) - 2deg)); }
}

.pump-web-trail-hero .page-header-inner {
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 120px clamp(24px, 6vw, 110px) 105px;
	text-align: center;
}

.pump-web-trail-caption {
	position: relative;
	width: min(100%, 1120px);
	margin: 0 auto;
}

#page-header.pump-web-trail-hero .pump-web-trail-title {
	max-width: 16ch;
	margin: 0 auto;
	font-size: clamp(58px, 5.7vw, 96px);
	font-weight: 600;
	line-height: .98;
	letter-spacing: 0;
	text-transform: uppercase;
}

#page-header.pump-web-trail-hero .pump-web-trail-title > span {
	padding-left: .16em;
}

#page-header.pump-web-trail-hero .pump-web-trail-description {
	max-width: 790px;
	margin-top: clamp(26px, 3vh, 38px);
	margin-right: auto;
	margin-left: auto;
	font-size: clamp(17px, 1.25vw, 22px);
	line-height: 1.35;
	opacity: 1;
	animation: none;
}

.pump-web-trail-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 28px;
}

.pump-web-trail-actions .tt-btn {
	will-change: transform;
}

.pump-web-trail-tags {
	justify-content: center;
	margin-top: 22px;
}

.pump-web-trail-hero .ph-image-trail {
	z-index: 3;
}

.pump-web-trail-hero .ph-itr-img {
	width: clamp(220px, 19vw, 370px);
	max-width: none;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 20%, transparent);
	border-radius: 5px;
	box-shadow: 12px 14px 0 color-mix(in srgb, var(--tt-text-color) 16%, transparent);
}

/* Web service hero: editorial content paired with the product visual. */
@media (min-width: 768px) {
	#page-header.pump-web-split-hero .page-header-inner {
		justify-content: stretch;
		padding-right: clamp(34px, 4vw, 76px);
		padding-left: clamp(34px, 4vw, 76px);
		text-align: left;
	}

	.pump-web-split-layout {
		display: grid;
		width: 100%;
		grid-template-columns: minmax(0, 1.58fr) minmax(350px, .92fr);
		align-items: center;
		gap: clamp(18px, 2.2vw, 44px);
	}

	#page-header.pump-web-split-hero .pump-web-trail-caption {
		width: 100%;
		max-width: none;
		margin: 0;
	}

	#page-header.pump-web-split-hero .pump-web-trail-title {
		width: 100%;
		max-width: none;
		margin: 0;
		font-size: clamp(68px, 5.35vw, 102px);
		text-align: left;
	}

	#page-header.pump-web-split-hero .pump-web-trail-title > span {
		padding-left: 0;
	}

	#page-header.pump-web-split-hero .pump-web-title-accent {
		position: relative;
		display: inline-block;
		isolation: isolate;
	}

	#page-header.pump-web-split-hero .pump-web-title-accent::after {
		position: absolute;
		right: -.03em;
		bottom: .035em;
		left: -.03em;
		z-index: -1;
		height: .17em;
		background-color: var(--tt-main-color);
		content: "";
		transform: rotate(-1.2deg) scaleX(1);
		transform-origin: left center;
	}

	body.pump-web-hero-sequence-running #page-header.pump-web-split-hero .pump-web-title-accent::after {
		transform: rotate(-1.2deg) scaleX(0);
	}

	body.pump-web-hero-sequence-running #page-header.pump-web-split-hero .pump-web-title-accent.is-marker-drawn::after {
		transform: rotate(-1.2deg) scaleX(1);
		transition: transform 620ms cubic-bezier(.22, 1, .36, 1);
	}

	#page-header.pump-web-split-hero .pump-web-trail-description {
		max-width: 760px;
		margin-right: 0;
		margin-left: 0;
		font-size: clamp(16px, 1.15vw, 20px);
	}

	#page-header.pump-web-split-hero .pump-web-trail-actions,
	#page-header.pump-web-split-hero .pump-web-trail-tags {
		justify-content: flex-start;
	}

	.pump-web-split-visual {
		position: relative;
		z-index: 2;
		width: min(112%, 720px);
		margin: 0 auto;
		pointer-events: none;
		transform: translateX(-2%) rotate(1.25deg);
	}

	.pump-web-split-visual-tilt {
		transform: perspective(1100px)
			translate3d(var(--pump-visual-shift-x, 0), var(--pump-visual-shift-y, 0), 0)
			rotateX(var(--pump-visual-tilt-x, 0deg))
			rotateY(var(--pump-visual-tilt-y, 0deg));
		transform-style: preserve-3d;
		transition: transform 180ms cubic-bezier(.22, 1, .36, 1);
		will-change: transform;
	}

	.pump-web-split-visual img {
		display: block;
		width: 100%;
		height: auto;
		filter: drop-shadow(16px 20px 0 color-mix(in srgb, var(--tt-text-color) 13%, transparent));
		animation: pumpWebHeroVisualFloat 8.5s ease-in-out infinite;
	}

	#page-header.pump-web-split-hero .pump-web-digital-node-code { left: 3.5%; }
	#page-header.pump-web-split-hero .pump-web-digital-node-window { left: 4.5%; }
	#page-header.pump-web-split-hero .pump-web-digital-node-cursor { top: 82%; left: 38%; }
	#page-header.pump-web-split-hero .pump-web-digital-node-mobile { right: 2.5%; }
	#page-header.pump-web-split-hero .pump-web-digital-node-search { top: 82%; right: 32%; }
	#page-header.pump-web-split-hero .pump-web-digital-node-flow { right: 3.5%; }
}

#page-header.pump-web-split-hero .pump-web-title-marker {
	position: relative;
	display: inline-block;
	isolation: isolate;
}

#page-header.pump-web-split-hero .pump-web-title-marker::after {
	position: absolute;
	right: -.03em;
	bottom: .035em;
	left: -.03em;
	z-index: -1;
	height: .17em;
	background-color: var(--tt-main-color);
	content: "";
	transform: rotate(-1.2deg) scaleX(1);
	transform-origin: left center;
	backface-visibility: hidden;
	will-change: transform;
}

body.pump-web-hero-sequence-running #page-header.pump-web-split-hero .pump-web-title-marker::after {
	transform: rotate(-1.2deg) scaleX(0);
}

body.pump-web-hero-sequence-running #page-header.pump-web-split-hero .pump-web-title-marker.is-marker-drawn::after {
	transform: rotate(-1.2deg) scaleX(1);
	transition: transform 620ms cubic-bezier(.22, 1, .36, 1);
}

@keyframes pumpWebHeroVisualFloat {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(-.35deg); }
	50% { transform: translate3d(0, -12px, 0) rotate(.35deg); }
}

@media (min-width: 768px) and (max-width: 1180px) {
	.pump-web-split-layout {
		grid-template-columns: minmax(0, 1.42fr) minmax(300px, .9fr);
		gap: 20px;
	}

	#page-header.pump-web-split-hero .pump-web-trail-title {
		font-size: clamp(48px, 5.35vw, 66px);
	}
}

@media (max-width: 767px) {
	.pump-web-split-layout {
		display: block;
		width: 100%;
	}

	.pump-web-split-visual {
		display: none;
	}

	#page-header.pump-web-split-hero .pump-web-title-accent {
		position: relative;
		display: block !important;
		isolation: isolate;
		width: max-content !important;
		margin: 0 auto !important;
		font-size: clamp(82px, 24vw, 100px) !important;
		font-weight: 600;
		line-height: .82 !important;
	}

	html[lang="de"] #page-header.pump-web-split-hero .pump-web-title-accent {
		font-size: clamp(58px, 17vw, 72px) !important;
	}

	#page-header.pump-web-split-hero .pump-web-title-accent::after {
		position: absolute;
		right: -.03em;
		bottom: -.045em;
		left: -.03em;
		z-index: -1;
		height: .17em;
		background-color: var(--tt-main-color);
		content: "";
		transform: rotate(-1.2deg) scaleX(1);
		transform-origin: left center;
		backface-visibility: hidden;
		will-change: transform;
	}

	body.pump-web-hero-sequence-running #page-header.pump-web-split-hero .pump-web-title-accent::after {
		transform: rotate(-1.2deg) scaleX(0);
	}

	body.pump-web-hero-sequence-running #page-header.pump-web-split-hero .pump-web-title-accent.is-marker-drawn::after {
		transform: rotate(-1.2deg) scaleX(1);
		transition: transform 620ms cubic-bezier(.22, 1, .36, 1);
	}
}


@media (max-width: 1200px) {
	.pump-web-trail-hero .page-header-inner {
		padding-right: 48px;
		padding-left: 48px;
	}

	#page-header.pump-web-trail-hero .pump-web-trail-title {
		font-size: clamp(54px, 7vw, 82px);
	}
}

@media (max-width: 1024px) {
	#page-header.pump-web-trail-hero::after {
		display: none;
	}

	.pump-web-trail-hero .page-header-inner {
		padding: 112px 24px 96px;
	}

	.pump-web-trail-caption {
		max-width: 760px;
	}
}

@media (max-width: 767px) {
	.pump-web-trail-hero .page-header-inner {
		top: 64px;
		padding: 156px 20px 72px;
	}

	#page-header.pump-web-trail-hero .pump-web-trail-title {
		max-width: none;
		font-size: 0 !important;
		line-height: .94;
	}

	#page-header.pump-web-trail-hero .pump-web-trail-title::before {
		display: block;
		font-size: clamp(82px, 24vw, 100px);
		font-weight: 600;
		line-height: .82;
		content: "САЙТЫ";
	}

	#page-header.pump-web-split-hero .pump-web-trail-title::before {
		display: none;
		content: none;
	}

	#page-header.pump-web-trail-hero .pump-web-trail-title > span {
		display: block;
		width: 18ch;
		max-width: 100%;
		margin: 13px auto 0;
		padding-left: 0;
		font-size: clamp(18px, 5.4vw, 22px);
		line-height: 1.04;
	}

	#page-header.pump-web-trail-hero .pump-web-trail-description {
		max-width: 34ch;
		margin-top: 29px;
		font-size: 15px;
		line-height: 1.4;
	}

	.pump-web-trail-actions {
		display: grid;
		gap: 8px;
		margin-top: 28px;
	}

	.pump-web-trail-actions > .tt-magnetic-btn,
	.pump-web-trail-actions .tt-btn {
		margin: 0 !important;
	}

	.pump-web-trail-actions .tt-btn {
		width: 100%;
	}

	.pump-web-trail-actions [data-web-calculator-open] .tt-btn-icon {
		display: inline-flex !important;
		margin-left: 9px;
		font-size: 16px !important;
	}

	.pump-web-trail-actions [data-web-calculator-open] .tt-btn-icon i {
		display: block !important;
	}

	.pump-web-trail-tags {
		display: flex;
		width: auto;
		max-width: 100%;
		flex-direction: column;
		align-items: center;
		gap: 5px;
		margin: 40px auto 0;
		overflow: visible;
	}

	.pump-web-trail-tags li {
		display: flex;
		width: max-content;
		max-width: 100%;
		justify-content: center;
		margin: 0;
		padding-right: 9px;
		padding-left: 9px;
	}
}

/* E-shop service hero: live commerce dashboard. */
#page-header.pump-eshop-hero .page-header-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 126px clamp(28px, 4.5vw, 86px) 92px;
	text-align: left;
}

.pump-eshop-hero-layout {
	display: grid;
	width: 100%;
	grid-template-columns: minmax(0, 1.18fr) minmax(430px, .82fr);
	align-items: center;
	gap: clamp(48px, 6vw, 110px);
	margin: 0 auto;
}

.pump-eshop-hero .pump-web-trail-caption {
	width: 100%;
	margin: 0;
}

html:lang(de) #web-hero-title.pump-web-trail-title,
html:lang(de) #consulting-hero-title.pump-web-trail-title {
	font-size: clamp(52px, 5vw, 88px);
}

#page-header.pump-eshop-hero .pump-web-trail-title {
	max-width: 12ch;
	margin: 0;
	font-size: clamp(58px, 5.6vw, 94px);
	text-align: left;
}

#page-header.pump-eshop-hero .pump-web-trail-title > span {
	display: block;
	padding-left: 0;
}

@media (min-width: 768px) {
	#page-header.pump-eshop-hero .pump-web-trail-title > .pump-eshop-title-main {
		display: flex;
		width: max-content;
		max-width: 100%;
		align-items: center;
		gap: .22em;
		margin-bottom: .26em;
		padding: .14em .3em .12em;
		border-radius: 999px;
		color: #fff;
		-webkit-text-fill-color: #fff;
		background: var(--tt-main-color);
		box-shadow: .09em .1em 0 var(--tt-shadow-color);
		font-size: .82em;
		line-height: .9;
		transform: rotate(-1deg);
	}

	#page-header.pump-eshop-hero .pump-web-trail-title > .pump-eshop-title-main > i {
		flex: 0 0 auto;
		font-size: .42em;
		transform: rotate(1deg);
	}

	#page-header.pump-eshop-hero .pump-web-trail-title > .pump-eshop-title-main > span {
		display: block;
	}
}

#page-header.pump-eshop-hero .pump-eshop-title-detail {
	margin-top: .08em;
	font-size: .72em;
	line-height: .96;
	letter-spacing: -.035em;
	text-wrap: balance;
}

html:lang(en) #page-header.pump-eshop-hero .pump-eshop-title-detail {
	font-size: .84em;
}

html:lang(de) #page-header.pump-eshop-hero .pump-eshop-title-detail {
	font-size: .78em;
}

html:lang(ru) #page-header.pump-eshop-hero .pump-eshop-title-detail {
	font-size: .68em;
}

#page-header.pump-eshop-hero .pump-web-trail-description {
	max-width: 720px;
	margin: clamp(24px, 2.6vh, 34px) 0 0;
	font-size: clamp(16px, 1.12vw, 20px);
	text-align: left;
}

.pump-eshop-hero .pump-web-trail-actions,
.pump-eshop-hero .pump-web-trail-tags {
	justify-content: flex-start;
}

.pump-eshop-hero .pump-web-trail-tags {
	max-width: 760px;
	gap: 7px;
	margin-top: 24px;
}

.pump-eshop-live-window {
	position: relative;
	z-index: 5;
	min-width: 0;
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 6px;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, .055), transparent 42%),
		#151619;
	box-shadow: 14px 16px 0 color-mix(in srgb, var(--tt-text-color) 12%, transparent);
	color: #f3f1eb;
	overflow: hidden;
	isolation: isolate;
}

.pump-eshop-live-window::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	background-image:
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: 30px 30px;
	mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

.pump-eshop-live-window::after {
	position: absolute;
	top: -75px;
	right: -70px;
	z-index: -1;
	width: 220px;
	height: 220px;
	border: 1px solid rgba(174, 47, 20, .28);
	border-radius: 50%;
	content: "";
	box-shadow: 0 0 70px rgba(174, 47, 20, .11);
}

.pump-eshop-live-header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 16px;
	padding: 2px 2px 16px;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.pump-eshop-window-controls {
	display: flex;
	gap: 5px;
}

.pump-eshop-window-controls span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .28);
}

.pump-eshop-window-controls span:first-child { background: #ad3218; }
.pump-eshop-window-controls span:nth-child(2) { background: #d89a37; }

.pump-eshop-live-title,
.pump-eshop-live-status {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0;
}

.pump-eshop-live-status {
	justify-self: end;
	color: rgba(255, 255, 255, .66);
}

.pump-eshop-live-status i {
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: 5px;
	border-radius: 50%;
	background: #42b873;
	box-shadow: 0 0 0 0 rgba(66, 184, 115, .6);
	animation: pumpEshopLivePulse 2.2s ease-out infinite;
}

.pump-eshop-live-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 14px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 4px;
	background: rgba(255, 255, 255, .025);
}

.pump-eshop-live-metrics > div {
	min-width: 0;
	padding: 14px;
}

.pump-eshop-live-metrics > div + div { border-left: 1px solid rgba(255, 255, 255, .1); }

.pump-eshop-live-metrics span,
.pump-eshop-live-metrics small {
	display: block;
	font-size: 9px;
	color: rgba(255, 255, 255, .5);
}

.pump-eshop-live-metrics strong {
	display: block;
	margin: 5px 0 3px;
	font-size: clamp(18px, 1.6vw, 28px);
	line-height: 1;
	white-space: nowrap;
}

.pump-eshop-live-metrics small { color: #6ed69b; }

.pump-eshop-event-stage {
	position: relative;
	height: 92px;
	margin: 14px 0;
}

.pump-eshop-live-event {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	padding: 14px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 4px;
	background: rgba(255, 255, 255, .065);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
	opacity: 0;
	transform: translate3d(0, 14px, 0);
	animation: pumpEshopEventCycle 12s cubic-bezier(.22, 1, .36, 1) infinite;
}

.pump-eshop-live-event:nth-child(2) { animation-delay: 4s; }
.pump-eshop-live-event:nth-child(3) { animation-delay: 8s; }

.pump-eshop-event-icon {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 50%;
	background: #ad3218;
	color: #fff;
}

.pump-eshop-event-shipping .pump-eshop-event-icon { background: #246e9a; }
.pump-eshop-event-invoice .pump-eshop-event-icon { background: #3d8060; }

.pump-eshop-live-event div { min-width: 0; }
.pump-eshop-live-event b,
.pump-eshop-live-event div span { display: block; }
.pump-eshop-live-event b { font-size: 13px; }
.pump-eshop-live-event div span { margin-top: 4px; font-size: 10px; color: rgba(255, 255, 255, .54); }
.pump-eshop-live-event > strong { font-size: 12px; color: #f1c8bd; white-space: nowrap; }

.pump-eshop-order-flow {
	padding: 14px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 4px;
}

.pump-eshop-flow-heading,
.pump-eshop-flow-row {
	display: grid;
	align-items: center;
}

.pump-eshop-flow-heading {
	grid-template-columns: 1fr auto;
	margin-bottom: 12px;
	font-size: 11px;
}

.pump-eshop-flow-heading b { color: rgba(255, 255, 255, .5); }

.pump-eshop-flow-row {
	grid-template-columns: 82px minmax(80px, 1fr) 24px;
	gap: 10px;
	margin-top: 9px;
	font-size: 9px;
	color: rgba(255, 255, 255, .62);
}

.pump-eshop-flow-row > i {
	height: 4px;
	border-radius: 4px;
	background: rgba(255, 255, 255, .09);
	overflow: hidden;
}

.pump-eshop-flow-row > i > b {
	display: block;
	width: var(--flow);
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #ad3218, #df6b4d);
	transform-origin: left;
	animation: pumpEshopFlow 3.8s ease-in-out infinite alternate;
}

.pump-eshop-flow-row strong { justify-self: end; color: #f3f1eb; }

.pump-eshop-live-footer {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 2px 0;
	font-size: 9px;
	color: rgba(255, 255, 255, .48);
}

.pump-eshop-live-footer i { margin-right: 5px; color: #72c493; }

@keyframes pumpEshopEventCycle {
	0% { opacity: 0; transform: translate3d(0, 14px, 0) scale(.985); }
	6%, 27% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
	33%, 100% { opacity: 0; transform: translate3d(0, -12px, 0) scale(.985); }
}

@keyframes pumpEshopLivePulse {
	0% { box-shadow: 0 0 0 0 rgba(66, 184, 115, .6); }
	70%, 100% { box-shadow: 0 0 0 7px rgba(66, 184, 115, 0); }
}

@keyframes pumpEshopFlow {
	from { transform: scaleX(.9); opacity: .72; }
	to { transform: scaleX(1); opacity: 1; }
}

@media (max-width: 1180px) {
	.pump-eshop-hero-layout {
		grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
		gap: 42px;
	}

	#page-header.pump-eshop-hero .pump-web-trail-title { font-size: clamp(52px, 5.6vw, 72px); }
}

@media (max-width: 1024px) {
	#page-header.pump-eshop-hero .page-header-inner {
		top: 0;
		padding: 128px 28px 90px;
	}

	.pump-eshop-hero-layout {
		grid-template-columns: minmax(0, 1fr) minmax(350px, .82fr);
		gap: 28px;
	}
}

@media (max-width: 900px) {
	#page-header.pump-eshop-hero { min-height: auto; }
	.pump-eshop-hero-layout { grid-template-columns: 1fr; gap: 42px; }
	.pump-eshop-live-window { width: min(100%, 640px); margin: 0 auto; }
}

@media (max-width: 767px) {
	#page-header.pump-eshop-hero .page-header-inner {
		top: 0;
		padding: 112px 18px 104px;
	}

	.pump-eshop-hero-layout { gap: 36px; }
	.pump-eshop-hero .pump-web-trail-caption { max-width: none; }

	#page-header.pump-eshop-hero .pump-web-trail-title {
		max-width: none;
		margin: 0 auto;
		text-align: center;
	}

	#page-header.pump-eshop-hero .pump-web-trail-title::before {
		display: none;
		content: none;
	}

	#page-header.pump-eshop-hero .pump-web-trail-title::after {
		display: none;
		content: none;
	}

	#page-header.pump-eshop-hero .pump-web-trail-title > .pump-eshop-title-main {
		display: flex !important;
		width: max-content;
		max-width: 100%;
		align-items: center;
		gap: .2em;
		margin: 0 auto;
		padding: .15em .28em .13em;
		border-radius: 999px;
		color: #fff;
		-webkit-text-fill-color: #fff;
		background: var(--tt-main-color);
		box-shadow: 7px 8px 0 var(--tt-shadow-color);
		font-size: clamp(38px, 12.5vw, 56px);
		line-height: .88;
		transform: rotate(-1deg);
	}

	#page-header.pump-eshop-hero .pump-web-trail-title > .pump-eshop-title-main > i {
		flex: 0 0 auto;
		font-size: .38em;
		transform: rotate(1deg);
	}

	#page-header.pump-eshop-hero .pump-eshop-title-detail {
		display: block !important;
		width: min(100%, 15ch);
		margin: 16px auto 0;
		font-size: clamp(29px, 8.4vw, 36px) !important;
		font-weight: 600;
		line-height: .96;
		letter-spacing: -.04em;
		text-align: center;
		white-space: normal;
		text-wrap: balance;
	}

	html:lang(de) #page-header.pump-eshop-hero .pump-eshop-title-detail,
	html:lang(sk) #page-header.pump-eshop-hero .pump-eshop-title-detail {
		font-size: clamp(25px, 7.2vw, 32px) !important;
	}

	html:lang(ru) #page-header.pump-eshop-hero .pump-eshop-title-detail {
		font-size: clamp(25px, 7.4vw, 32px) !important;
	}

	#page-header.pump-eshop-hero .pump-web-trail-description {
		max-width: 36ch;
		margin: 28px auto 0;
		font-size: 14px;
		text-align: center;
	}

	.pump-eshop-hero .pump-web-trail-actions { justify-content: center; }
	.pump-eshop-hero .pump-web-trail-tags { display: none; }
	.pump-eshop-live-window { padding: 12px; box-shadow: 8px 9px 0 color-mix(in srgb, var(--tt-text-color) 12%, transparent); }
	.pump-eshop-live-metrics > div { padding: 10px 8px; }
	.pump-eshop-live-metrics span { font-size: 8px; }
	.pump-eshop-live-metrics strong { font-size: 17px; }
	.pump-eshop-event-stage { height: 82px; }
	.pump-eshop-live-event { gap: 9px; padding: 10px; }
	.pump-eshop-event-icon { width: 34px; height: 34px; font-size: 12px; }
	.pump-eshop-live-event b { font-size: 11px; }
	.pump-eshop-live-event div span { font-size: 8px; }
	.pump-eshop-live-event > strong { font-size: 9px; }
	.pump-eshop-flow-row { grid-template-columns: 72px minmax(60px, 1fr) 20px; }
	.pump-eshop-live-footer { font-size: 8px; }
}


/* E-shop hero: a lightweight stream of sales notifications. */
.pump-eshop-live-shell {
	position: relative;
	z-index: 5;
	min-width: 0;
}

.pump-eshop-notification-window {
	position: relative;
	min-height: 520px;
	padding: 24px clamp(8px, 1.5vw, 22px);
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--tt-text-color);
	overflow: hidden;
	isolation: isolate;
}

.pump-eshop-commerce-nodes {
	position: absolute;
	inset: -3% -8%;
	z-index: 6;
	pointer-events: none;
}

.pump-eshop-commerce-node {
	width: clamp(42px, 3vw, 56px);
	opacity: .82;
}

.pump-eshop-commerce-node-cart {
	--float-x: -13px;
	--float-y: 17px;
	--node-rotate: 6deg;
	top: 7%;
	right: 5%;
	animation-delay: -2.1s;
	animation-duration: 17.6s !important;
}

.pump-eshop-commerce-node-card {
	--float-x: 16px;
	--float-y: -12px;
	--node-rotate: -7deg;
	top: 37%;
	left: 0;
	animation-delay: -5.2s;
	animation-duration: 15.8s !important;
}

.pump-eshop-commerce-node-delivery {
	--float-x: 12px;
	--float-y: -16px;
	--node-rotate: 5deg;
	bottom: 8%;
	left: 2%;
	animation-delay: -7.4s;
	animation-duration: 18.9s !important;
}

.pump-eshop-commerce-node-euro {
	--float-x: -17px;
	--float-y: 13px;
	--node-rotate: -5deg;
	top: 56%;
	right: 0;
	animation-delay: -3.8s;
	animation-duration: 16.7s !important;
}

.pump-eshop-notification-window::before {
	inset: 9% 2%;
	z-index: -1;
	border: 0;
	border-radius: 8px;
	background: transparent;
	mask-image: none;
}

.pump-eshop-notification-window::after {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 5;
	width: auto;
	height: auto;
	border: 0;
	border-radius: 0;
	background:
		linear-gradient(to bottom, var(--tt-bg-color) 0%, transparent 15%, transparent 84%, var(--tt-bg-color) 100%),
		linear-gradient(to right, var(--tt-bg-color) 0%, transparent 8%, transparent 92%, var(--tt-bg-color) 100%);
	opacity: 1;
	filter: none;
	pointer-events: none;
}

.pump-eshop-notification-label {
	position: absolute;
	top: 12px;
	left: 0;
	z-index: 7;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
}

.pump-eshop-notification-label i {
	display: inline-block;
	width: auto;
	height: auto;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--tt-main-color);
	font-size: 11px;
}

.pump-eshop-notification-viewport {
	position: relative;
	height: 450px;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 13%, #000 87%, transparent 100%);
	mask-image: linear-gradient(to bottom, transparent 0%, #000 13%, #000 87%, transparent 100%);
}

.pump-eshop-notification-track {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	visibility: hidden;
	will-change: transform;
}

.pump-eshop-notification-track.is-live { visibility: visible; }

.pump-eshop-notification-group {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.pump-eshop-notification {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	width: min(94%, 470px);
	min-height: 72px;
	padding: 12px 14px;
	border: 1.5px solid color-mix(in srgb, var(--tt-text-color) 25%, transparent);
	border-radius: 6px;
	background: color-mix(in srgb, var(--tt-bg-color) 91%, var(--tt-text-color) 9%);
	box-shadow: 0 10px 30px color-mix(in srgb, var(--tt-text-color) 8%, transparent);
}

.pump-eshop-notification.is-align-left { align-self: flex-start; margin-left: 0; }
.pump-eshop-notification.is-align-right { align-self: flex-end; margin-left: 0; }
.pump-eshop-notification.is-align-inset { align-self: flex-start; margin-left: 4%; }

.pump-eshop-notification-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--tt-main-color) 13%, var(--tt-bg-color));
	color: var(--tt-main-color);
	font-size: 13px;
}

.pump-eshop-notification--payment .pump-eshop-notification-icon { color: #228b57; background: color-mix(in srgb, #40ad73 14%, var(--tt-bg-color)); }
.pump-eshop-notification--shipping .pump-eshop-notification-icon { color: #3979a9; background: color-mix(in srgb, #549bd0 14%, var(--tt-bg-color)); }
.pump-eshop-notification--invoice .pump-eshop-notification-icon { color: #8b6c26; background: color-mix(in srgb, #c9a447 15%, var(--tt-bg-color)); }

.pump-eshop-notification div { min-width: 0; }
.pump-eshop-notification b,
.pump-eshop-notification div span { display: block; }
.pump-eshop-notification b { font-size: 13px; line-height: 1.25; }
.pump-eshop-notification div span { margin-top: 4px; color: color-mix(in srgb, var(--tt-text-color) 56%, transparent); font-size: 10px; }
.pump-eshop-notification > strong { color: var(--tt-main-color); font-size: 11px; white-space: nowrap; }
.pump-eshop-notification--order > strong { color: #228b57; }
.pump-eshop-notification--payment > strong { color: #228b57; }
.pump-eshop-notification--shipping > strong { color: #3979a9; }
.pump-eshop-notification--invoice > strong { color: #8b6c26; }

.pump-eshop-notification-caption {
	position: absolute;
	right: 0;
	bottom: 7px;
	z-index: 7;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 700;
	color: color-mix(in srgb, var(--tt-text-color) 58%, transparent);
}

.pump-eshop-notification-caption i {
	display: block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #24a761;
	box-shadow: 0 0 0 0 rgba(36, 167, 97, .38);
	animation: pumpEshopOnlinePulse 1.8s ease-out infinite;
}

body:not(.tt-dark-mode-on) .pump-eshop-notification {
	border-color: rgba(22, 23, 26, .3);
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 10px 26px rgba(22, 23, 26, .08);
}

@keyframes pumpEshopOnlinePulse {
	0% { box-shadow: 0 0 0 0 rgba(36, 167, 97, .4); }
	70% { box-shadow: 0 0 0 7px rgba(36, 167, 97, 0); }
	100% { box-shadow: 0 0 0 0 rgba(36, 167, 97, 0); }
}

@media (max-width: 767px) {
	.pump-eshop-notification-window {
		min-height: 420px;
		padding: 18px 4px;
		box-shadow: none;
	}

	.pump-eshop-notification-window::before { inset: 7% 0; }
	.pump-eshop-notification-label { top: 0; left: 0; }
	.pump-eshop-notification-viewport { height: 370px; }
	.pump-eshop-notification-track { gap: 10px; }
	.pump-eshop-notification-group { gap: 10px; }
	.pump-eshop-notification {
		grid-template-columns: 36px minmax(0, 1fr) auto;
		gap: 9px;
		width: 95%;
		min-height: 62px;
		padding: 10px;
	}
	.pump-eshop-notification-icon { width: 34px; height: 34px; font-size: 11px; }
	.pump-eshop-notification b { font-size: 11px; }
	.pump-eshop-notification div span { font-size: 8px; }
	.pump-eshop-notification > strong { font-size: 9px; }
	.pump-eshop-notification-caption { right: 0; bottom: 0; max-width: 90%; font-size: 11px; text-align: right; }
	.pump-eshop-commerce-nodes { inset: 0; }
	.pump-eshop-commerce-node { width: 36px; opacity: .58; }
	.pump-eshop-commerce-node-cart { top: 5%; right: 2%; }
	.pump-eshop-commerce-node-card { top: 34%; left: 0; }
	.pump-eshop-commerce-node-delivery { bottom: 11%; left: 1%; }
	.pump-eshop-commerce-node-euro { top: 58%; right: 0; }
}


.pump-web-formats {
	padding-top: clamp(75px, 8vw, 130px);
	padding-bottom: clamp(80px, 9vw, 150px);
}

.pump-web-formats-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
	align-items: end;
	gap: clamp(36px, 6vw, 110px);
	margin-bottom: clamp(54px, 6vw, 92px);
}

.pump-web-formats-kicker {
	margin: 0 0 18px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
}

.pump-web-formats-intro h2 {
	margin: 0;
	font-size: clamp(42px, 5.2vw, 82px);
	line-height: .98;
}

.pump-web-formats-intro > p {
	max-width: 620px;
	margin: 0;
	font-size: clamp(16px, 1.2vw, 20px);
	line-height: 1.5;
	color: color-mix(in srgb, var(--tt-text-color) 76%, transparent);
}

.pump-web-format-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pump-web-format-column {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 500px;
	flex-direction: column;
	padding: 6px clamp(24px, 2.1vw, 42px) 10px;
	border-right: 1px solid color-mix(in srgb, var(--tt-text-color) 28%, transparent);
	color: inherit;
	cursor: default;
	transition: border-color .25s ease;
}

.pump-web-format-column:hover {
	border-color: color-mix(in srgb, var(--tt-text-color) 58%, transparent);
}

.pump-web-format-column:first-child {
	padding-left: 0;
}

.pump-web-format-column:last-child {
	padding-right: 0;
	border-right: 0;
}

.pump-web-format-index {
	display: inline-flex;
	width: 38px;
	height: 38px;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 34%, transparent);
	border-radius: 50%;
	font-size: 12px;
	font-weight: 700;
}

.pump-web-format-column h2 {
	min-height: 2.25em;
	margin: 0 0 28px;
	padding-bottom: 24px;
	border-bottom: 2px solid var(--tt-text-color);
	font-size: clamp(29px, 2.25vw, 42px);
	line-height: 1.08;
	overflow-wrap: anywhere;
	transition: border-color .25s ease;
}

.pump-web-format-column p {
	margin: 0 0 24px;
	font-size: clamp(15px, 1.05vw, 18px);
	line-height: 1.55;
	color: color-mix(in srgb, var(--tt-text-color) 72%, transparent);
}

.pump-web-format-column ul {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
}

.pump-web-format-column li {
	padding: 6px 10px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 40%, transparent);
	border-radius: 999px;
	font-size: 11px;
	line-height: 1;
}

.pump-web-format-price {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 12px;
	margin-top: auto;
	padding: 4px 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.pump-web-format-column strong {
	display: block;
	font-size: clamp(18px, 1.35vw, 24px);
	font-weight: 700;
}

.pump-web-format-price i {
	font-size: .82em;
	opacity: 0;
	transform: translateX(-8px);
	transition: opacity .25s ease, transform .25s ease;
}

.pump-web-format-price:hover i,
.pump-web-format-price:focus-visible i {
	opacity: 1;
	transform: translateX(0);
}

.pump-web-format-price:focus-visible {
	outline: 1px solid var(--tt-text-color);
	outline-offset: 6px;
}

.pump-web-format-included {
	display: grid;
	grid-template-columns: minmax(250px, .72fr) minmax(0, 1.7fr);
	align-items: center;
	gap: clamp(24px, 4vw, 68px);
	margin-top: clamp(34px, 4vw, 58px);
	padding: clamp(22px, 2.3vw, 34px);
	border: 1px solid color-mix(in srgb, var(--tt-main-color) 58%, var(--tt-text-color) 14%);
	border-radius: 8px;
	background:
		linear-gradient(115deg, color-mix(in srgb, var(--tt-main-color) 9%, transparent), transparent 44%),
		color-mix(in srgb, var(--tt-accent-bg-color) 72%, transparent);
	box-shadow: 7px 7px 0 -3px color-mix(in srgb, var(--tt-main-color) 22%, transparent);
}

.pump-web-format-included-heading {
	display: flex;
	align-items: center;
	gap: 16px;
}

.pump-web-format-included-icon {
	display: inline-flex;
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--tt-main-color);
	color: #fff;
	font-size: 17px;
}

.pump-web-format-included-heading span:not(.pump-web-format-included-icon) {
	display: block;
	margin-bottom: 5px;
	color: var(--tt-main-color);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
}

.pump-web-format-included h3 {
	margin: 0;
	font-size: clamp(18px, 1.45vw, 24px);
	line-height: 1.15;
}

.pump-web-format-included ul {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px clamp(18px, 2vw, 34px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.pump-web-format-included li {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 10px;
	font-size: clamp(12px, .92vw, 15px);
	font-weight: 700;
	line-height: 1.25;
}

.pump-web-format-included li i {
	display: inline-flex;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: color-mix(in srgb, var(--tt-main-color) 13%, transparent);
	color: var(--tt-main-color);
	font-size: 9px;
}

@media (max-width: 1199px) {
	.pump-web-formats-intro {
		grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr);
	}

	.pump-web-format-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 54px 0;
	}

	.pump-web-format-column {
		min-height: 430px;
	}

	.pump-web-format-column:nth-child(2) {
		padding-right: 0;
		border-right: 0;
	}

	.pump-web-format-column:nth-child(3) {
		padding-left: 0;
	}

	.pump-web-format-included {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

@media (max-width: 767px) {
	.pump-web-digital-node {
		width: 40px;
		opacity: .64;
	}

	.pump-web-digital-node-code { top: 20%; left: 4%; }
	.pump-web-digital-node-mobile { top: 18%; right: 4%; }
	.pump-web-digital-node-cursor { top: 75%; left: 8%; }
	.pump-web-digital-node-search { top: 73%; right: 7%; }
	.pump-web-digital-node-window,
	.pump-web-digital-node-flow { display: none; }

	.pump-web-formats {
		padding-top: 64px;
		padding-bottom: 84px;
	}

	.pump-web-formats-intro {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-bottom: 34px;
	}

	.pump-web-formats-kicker {
		margin-bottom: 12px;
		font-size: 12px;
	}

	.pump-web-formats-intro h2 {
		font-size: clamp(36px, 11vw, 48px);
	}

	.pump-web-formats-intro > p {
		font-size: 15px;
	}

	.pump-web-format-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.pump-web-format-column,
	.pump-web-format-column:first-child,
	.pump-web-format-column:nth-child(2),
	.pump-web-format-column:nth-child(3),
	.pump-web-format-column:last-child {
		min-height: 0;
		padding: 34px 0;
		border-right: 0;
		border-bottom: 1px solid color-mix(in srgb, var(--tt-text-color) 28%, transparent);
	}

	.pump-web-format-column:first-child {
		padding-top: 0;
	}

	.pump-web-format-column:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}

	.pump-web-format-index {
		margin-bottom: 20px;
	}

	.pump-web-format-column h2 {
		min-height: 0;
		margin-bottom: 20px;
		padding-bottom: 18px;
		font-size: 34px;
	}

	.pump-web-format-column strong {
		margin-top: 4px;
	}

	.pump-web-format-price i {
		opacity: 1;
		transform: none;
	}

	.pump-web-format-included {
		margin-top: 34px;
		padding: 20px 18px;
	}

	.pump-web-format-included-heading {
		align-items: flex-start;
	}

	.pump-web-format-included-icon {
		width: 42px;
		height: 42px;
		flex-basis: 42px;
	}

	.pump-web-format-included ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px 12px;
	}

	.pump-web-format-included li {
		align-items: flex-start;
		font-size: 12px;
	}
}


/* E-shop: focused case study */
.pump-eshop-case-focus {
	position: relative;
	padding-top: 110px;
	padding-bottom: 110px;
	overflow: hidden;
	border-top: 1px solid color-mix(in srgb, var(--tt-text-color) 22%, transparent);
	border-bottom: 0;
}

.pump-eshop-case-focus-head {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
	align-items: end;
	gap: clamp(36px, 6vw, 100px);
	margin-bottom: 38px;
}

.pump-eshop-case-focus-head h2 {
	max-width: 900px;
	margin: 18px 0 0;
	font-size: clamp(34px, 3vw, 52px);
	line-height: 1.03;
	letter-spacing: 0;
}

.pump-eshop-case-focus-head > p {
	max-width: 520px;
	margin: 0;
	font-size: clamp(13px, .95vw, 16px);
	line-height: 1.5;
	color: var(--tt-text-muted-color);
}

.pump-eshop-case-focus-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
}

.pump-eshop-case-featured {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(430px, .85fr);
	min-height: 460px;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--tt-light-color) 24%, transparent);
	border-radius: 6px;
	background: var(--tt-dark-color);
	color: var(--tt-light-color);
	box-shadow: 8px 9px 0 color-mix(in srgb, var(--tt-text-color) 14%, transparent);
}

.pump-eshop-case-featured-media {
	position: relative;
	display: block;
	min-height: 100%;
	overflow: hidden;
	background: #111216;
	color: var(--tt-light-color);
}

.pump-eshop-case-featured-media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(90deg, transparent 68%, rgba(22, 23, 26, .38));
}

.pump-eshop-case-featured-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s cubic-bezier(.22, 1, .36, 1);
}

.pump-eshop-case-featured:hover .pump-eshop-case-featured-media img {
	transform: scale(1.025);
}

.pump-eshop-case-scan {
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 0;
	left: -18%;
	width: 1px;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 0 18px rgba(255, 255, 255, .45);
	animation: pumpEshopCaseScan 7s ease-in-out infinite;
}

.pump-eshop-case-label {
	position: absolute;
	z-index: 3;
	top: 22px;
	left: 22px;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 9px 12px;
	border: 1px solid rgba(255, 255, 255, .48);
	border-radius: 999px;
	background: rgba(22, 23, 26, .72);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	backdrop-filter: blur(7px);
}

.pump-eshop-case-label i {
	font-size: 7px;
	color: #20ad65;
	animation: pumpEshopCasePulse 1.7s ease-in-out infinite;
}

.pump-eshop-case-featured-copy {
	display: flex;
	flex-direction: column;
	padding: clamp(28px, 3.2vw, 54px);
	background:
		linear-gradient(color-mix(in srgb, var(--tt-light-color) 7%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, var(--tt-light-color) 7%, transparent) 1px, transparent 1px),
		var(--tt-dark-color);
	background-size: 28px 28px;
}

.pump-eshop-case-featured-top {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid color-mix(in srgb, var(--tt-light-color) 24%, transparent);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--tt-light-color) 62%, transparent);
}

.pump-eshop-case-featured-copy h3 {
	margin: 38px 0 20px;
	font-size: clamp(25px, 2.15vw, 39px);
	line-height: 1.08;
	letter-spacing: 0;
}

.pump-eshop-case-featured-copy h3 a {
	color: inherit;
}

.pump-eshop-case-featured-copy h3 a:hover,
.pump-eshop-case-featured-copy h3 a:focus-visible {
	color: var(--tt-light-color);
}

.pump-eshop-case-featured-copy > p {
	margin: 0;
	font-size: 14px;
	line-height: 1.58;
	color: color-mix(in srgb, var(--tt-light-color) 72%, transparent);
}

.pump-eshop-case-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 28px 0 34px;
	padding: 0;
	list-style: none;
}

.pump-eshop-case-tags li {
	padding: 6px 9px;
	border: 1px solid color-mix(in srgb, var(--tt-light-color) 32%, transparent);
	border-radius: 999px;
	font-size: 10px;
	line-height: 1.15;
	color: color-mix(in srgb, var(--tt-light-color) 90%, transparent);
}

.pump-eshop-case-link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	margin-top: auto;
	padding: 18px 0 8px;
	border-bottom: 1px solid color-mix(in srgb, var(--tt-light-color) 55%, transparent);
	color: var(--tt-light-color);
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	transition: color .25s ease, border-color .25s ease;
}

.pump-eshop-case-link:hover {
	color: var(--tt-light-color);
	border-color: var(--tt-main-color);
}

.pump-eshop-case-link i {
	transition: transform .25s ease;
}

.pump-eshop-case-link:hover i {
	transform: translateX(5px);
}

.pump-eshop-case-secondary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.pump-eshop-case-mini {
	position: relative;
	display: block;
	min-height: 285px;
	aspect-ratio: 16 / 7;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 42%, transparent);
	border-radius: 6px;
	background: var(--tt-dark-color);
	color: #fff;
}

.pump-eshop-case-mini img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .75s cubic-bezier(.22, 1, .36, 1), filter .35s ease;
}

.pump-eshop-case-mini-shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(22, 23, 26, .08) 25%, rgba(22, 23, 26, .88) 100%);
}

.pump-eshop-case-mini-index {
	position: absolute;
	top: 18px;
	left: 18px;
	padding: 7px 9px;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 999px;
	background: rgba(22, 23, 26, .54);
	font-size: 9px;
	font-weight: 700;
	backdrop-filter: blur(7px);
}

.pump-eshop-case-mini-copy {
	position: absolute;
	right: 58px;
	bottom: 22px;
	left: 22px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.pump-eshop-case-mini-copy strong {
	font-size: clamp(22px, 2vw, 34px);
	line-height: 1;
}

.pump-eshop-case-mini-copy small {
	font-size: 11px;
	color: rgba(255, 255, 255, .72);
}

.pump-eshop-case-mini > i {
	position: absolute;
	right: 20px;
	bottom: 22px;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #fff;
	color: #16171a;
	font-size: 12px;
	transition: transform .25s ease;
}

.pump-eshop-case-mini:hover img {
	transform: scale(1.035);
}

.pump-eshop-case-mini:hover,
.pump-eshop-case-mini:visited,
.pump-eshop-case-mini:active,
.pump-eshop-case-mini:focus,
.pump-eshop-case-mini:focus-visible,
.pump-eshop-case-mini:hover .pump-eshop-case-mini-copy strong,
.pump-eshop-case-mini:visited .pump-eshop-case-mini-copy strong,
.pump-eshop-case-mini:active .pump-eshop-case-mini-copy strong,
.pump-eshop-case-mini:focus .pump-eshop-case-mini-copy strong,
.pump-eshop-case-mini:focus-visible .pump-eshop-case-mini-copy strong {
	color: #fff;
}

.pump-eshop-case-mini:hover > i {
	transform: translate(2px, -2px);
}

@keyframes pumpEshopCaseScan {
	0%, 18% { left: -18%; opacity: 0; }
	28% { opacity: 1; }
	70% { opacity: .9; }
	82%, 100% { left: 112%; opacity: 0; }
}

@keyframes pumpEshopCasePulse {
	0%, 100% { opacity: .42; transform: scale(.82); }
	50% { opacity: 1; transform: scale(1.25); }
}

@media (max-width: 1280px) {
	.pump-eshop-case-featured { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); }
	.pump-eshop-case-featured-copy { padding: 30px; }
}

@media (max-width: 1024px) {
	.pump-eshop-case-focus-head { grid-template-columns: 1fr; gap: 24px; }
	.pump-eshop-case-focus-head > p { max-width: 760px; }
	.pump-eshop-case-featured { grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr); min-height: 480px; }
	.pump-eshop-case-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
	.pump-eshop-case-mini { min-height: 280px; }
}

@media (max-width: 767px) {
	.pump-eshop-case-focus { padding-top: 72px; padding-bottom: 76px; }
	.pump-eshop-case-focus-head { gap: 16px; margin-bottom: 30px; }
	.pump-eshop-case-focus-head h2 { margin-top: 12px; font-size: clamp(27px, 8.6vw, 33px); line-height: 1.04; }
	.pump-eshop-case-focus-head > p { font-size: 12px; line-height: 1.45; }
	.pump-eshop-case-focus-layout { gap: 12px; }
	.pump-eshop-case-featured { grid-template-columns: 1fr; min-height: 0; box-shadow: 5px 6px 0 color-mix(in srgb, var(--tt-text-color) 14%, transparent); }
	.pump-eshop-case-featured-media { min-height: 300px; aspect-ratio: 1 / .78; }
	.pump-eshop-case-featured-media::after { background: linear-gradient(180deg, transparent 72%, rgba(22, 23, 26, .28)); }
	.pump-eshop-case-label { top: 14px; left: 14px; padding: 7px 9px; font-size: 9px; }
	.pump-eshop-case-featured-copy { padding: 25px 21px 24px; }
	.pump-eshop-case-featured-copy h3 { margin: 26px 0 15px; font-size: 26px; }
	.pump-eshop-case-featured-copy > p { font-size: 12px; }
	.pump-eshop-case-tags { gap: 5px; margin: 22px 0 25px; }
	.pump-eshop-case-tags li { padding: 5px 7px; font-size: 8px; }
	.pump-eshop-case-link { padding-top: 14px; font-size: 11px; }
	.pump-eshop-case-secondary { grid-template-columns: minmax(0, 1fr); width: 100%; min-width: 0; gap: 12px; }
	.pump-eshop-case-mini { width: 100%; max-width: 100%; min-width: 0; min-height: 0; aspect-ratio: 16 / 10; box-sizing: border-box; }
	.pump-eshop-case-mini-copy strong { font-size: 25px; }
}
