.pump-design-page #page-header.pump-design-artboard-hero {
	position: relative;
	min-height: max(760px, 100svh);
	overflow: hidden;
	background: var(--tt-bg-color);
	isolation: isolate;
}

.pump-design-page .pump-design-artboard-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image:
		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;
	background-position: var(--design-grid-x, 0) var(--design-grid-y, 0);
	transition: background-position .18s ease-out;
	pointer-events: none;
}

.pump-design-page .pump-design-artboard-inner {
	position: relative;
	z-index: 1;
	width: min(100%, 1920px);
	min-height: max(760px, 100svh);
	margin: 0 auto;
	padding: clamp(116px, 10vh, 152px) clamp(30px, 4vw, 78px) clamp(70px, 7vh, 96px);
}

.pump-design-page .pump-design-guide,
.pump-design-page .pump-design-crop,
.pump-design-page .pump-design-ruler,
.pump-design-page .pump-design-selection,
.pump-design-page .pump-design-tech,
.pump-design-page .pump-design-pointer,
.pump-design-page .pump-design-red-path {
	position: absolute;
	pointer-events: none;
}

.pump-design-page .pump-design-guide {
	z-index: 1;
	background: color-mix(in srgb, var(--tt-main-color) 52%, transparent);
	opacity: .52;
}

.pump-design-page .pump-design-guide-x { top: 31%; left: 0; width: 100%; height: 1px; }
.pump-design-page .pump-design-guide-y { top: 0; left: 52%; width: 1px; height: 100%; }
.pump-design-page .pump-design-guide-short { top: 64%; right: 5%; width: 24%; height: 1px; background: color-mix(in srgb, var(--tt-text-color) 36%, transparent); }

.pump-design-page .pump-design-ruler {
	top: clamp(106px, 9vh, 138px);
	left: 4vw;
	right: 4vw;
	height: 8px;
	z-index: 2;
	opacity: .42;
	background: repeating-linear-gradient(90deg, var(--tt-text-color) 0 1px, transparent 1px 16px);
}

.pump-design-page .pump-design-crop {
	z-index: 2;
	width: 31px;
	height: 31px;
	border-color: var(--tt-text-color);
	opacity: .55;
}

.pump-design-page .pump-design-crop-tl { top: 16%; left: 3.4%; border-top: 1px solid; border-left: 1px solid; }
.pump-design-page .pump-design-crop-br { right: 3.4%; bottom: 8%; border-right: 1px solid; border-bottom: 1px solid; }

.pump-design-page .pump-design-hero-eyebrow {
	position: absolute;
	top: 16.5%;
	left: 5.2%;
	z-index: 7;
	margin: 0;
	font-size: clamp(11px, .78vw, 14px);
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.pump-design-page .pump-design-art-title {
	position: absolute;
	inset: 0;
	z-index: auto;
	margin: 0;
	font-weight: 650;
	line-height: .82;
	letter-spacing: 0;
	text-transform: uppercase;
	pointer-events: none;
}

.pump-design-page .pump-design-title-line {
	position: absolute;
	display: block;
	white-space: nowrap;
}

.pump-design-page .pump-design-title-create {
	top: 20.5%;
	left: 5%;
	z-index: 3;
	font-size: clamp(64px, 6vw, 114px);
}

.pump-design-page .pump-design-title-visual {
	top: 31.5%;
	left: 5.2%;
	z-index: 12;
	color: #fff;
	font-family: "Marck Script", "Segoe Script", cursive;
	font-size: clamp(118px, 11.2vw, 210px);
	font-weight: 400;
	line-height: .9;
	letter-spacing: 0;
	text-transform: none;
	text-shadow: 2px 3px 0 rgba(0, 0, 0, .24);
	pointer-events: none;
}

.pump-design-page .pump-design-title-brand {
	top: 49%;
	left: 5.2%;
	z-index: 6;
	font-size: clamp(66px, 7.1vw, 135px);
	color: var(--tt-text-color);
}

.pump-design-page .pump-design-title-brand::after {
	content: none;
}

.pump-design-page .pump-design-art-figure {
	position: absolute;
	top: 45%;
	left: 56%;
	z-index: 4;
	width: clamp(460px, 46vw, 860px);
	margin: 0;
	translate: -50% -50%;
	transform-origin: center;
}

.pump-design-page .pump-design-art-media {
	transform: translate3d(var(--design-image-x, 0), var(--design-image-y, 0), 0);
	transition: transform .22s ease-out;
}

.pump-design-page .pump-design-art-figure img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(14px 18px 0 color-mix(in srgb, var(--tt-text-color) 14%, transparent));
}

.pump-design-page .pump-design-selection {
	inset: 11% 9% 8% 10%;
	z-index: 6;
	border: 1px solid color-mix(in srgb, var(--tt-main-color) 82%, transparent);
	opacity: .32;
	transition: opacity .25s ease, transform .25s ease;
}

.pump-design-page .pump-design-art-figure:hover .pump-design-selection,
.pump-design-page .pump-design-art-figure:focus-within .pump-design-selection {
	opacity: .9;
	transform: scale(1.012);
}

.pump-design-page .pump-design-handle {
	position: absolute;
	width: 9px;
	height: 9px;
	border: 1px solid var(--tt-main-color);
	background: var(--tt-bg-color);
}

.pump-design-page .pump-design-handle:nth-child(1) { top: -5px; left: -5px; }
.pump-design-page .pump-design-handle:nth-child(2) { top: -5px; right: -5px; }
.pump-design-page .pump-design-handle:nth-child(3) { right: -5px; bottom: -5px; }
.pump-design-page .pump-design-handle:nth-child(4) { bottom: -5px; left: -5px; }

.pump-design-page .pump-design-pointer {
	right: 1%;
	bottom: 10%;
	z-index: 7;
	color: var(--tt-main-color);
	font-size: clamp(22px, 2vw, 34px);
	transform: translate3d(var(--design-front-x, 0), var(--design-front-y, 0), 0) rotate(-18deg);
	transition: transform .2s ease-out;
}

.pump-design-page .pump-design-red-path {
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	overflow: visible;
	clip-path: inset(0 100% 0 0);
}

.pump-design-page .pump-design-red-path path {
	fill: none;
	stroke: var(--tt-main-color);
	stroke-width: clamp(172px, 12vw, 210px);
	stroke-linecap: butt;
	stroke-linejoin: miter;
	vector-effect: non-scaling-stroke;
	opacity: 1;
}

.pump-design-page .pump-design-red-tail {
	position: absolute;
	top: 43%;
	left: 75%;
	z-index: 2;
	width: clamp(110px, 8vw, 152px);
	height: clamp(172px, 12vw, 210px);
	margin-left: clamp(150px, 13.5vw, 230px);
	background: var(--tt-main-color);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-50%) scaleX(0);
	transform-origin: left center;
	pointer-events: none;
}

.pump-design-page .pump-design-hero-copy {
	position: absolute;
	top: 65.5%;
	left: 5.2%;
	bottom: auto;
	z-index: 8;
	width: min(34vw, 560px);
}

.pump-design-page .pump-design-hero-description {
	margin: 0;
	font-size: clamp(13px, .9vw, 17px);
	font-weight: 500;
	line-height: 1.48;
}

.pump-design-page .pump-design-hero-actions {
	position: absolute;
	top: calc(43% + clamp(150px, 13.5vw, 230px) + 28px);
	left: calc(75% - clamp(150px, 13.5vw, 230px));
	bottom: auto;
	z-index: 8;
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(300px, 27vw, 460px);
	gap: 14px;
}

.pump-design-page .pump-design-hero-actions .tt-btn:focus-visible {
	outline: 3px solid var(--tt-main-color);
	outline-offset: 4px;
}

.pump-design-page .pump-design-tech {
	z-index: 7;
	padding: 7px 9px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 28%, transparent);
	background: color-mix(in srgb, var(--tt-bg-color) 88%, transparent);
	font-size: clamp(9px, .62vw, 12px);
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.pump-design-page .pump-design-tech-board { top: 17%; right: 5.2%; }
.pump-design-page .pump-design-tech-coords { top: 47%; right: 3.3%; }
.pump-design-page .pump-design-tech-size { left: 53%; bottom: 7.5%; }
.pump-design-page .pump-design-tech-color { top: 24%; left: 40%; color: var(--tt-main-color); }

.pump-design-page .pump-design-art-card {
	position: absolute;
	top: 43%;
	right: auto;
	left: 75%;
	z-index: 5;
	width: clamp(300px, 27vw, 460px);
	aspect-ratio: 1;
	overflow: hidden;
	border: 2px solid var(--tt-text-color);
	border-radius: 5px;
	box-shadow: 9px 9px 0 var(--tt-text-color);
	background: var(--tt-bg-color);
	translate: -50% -50%;
	transform: translate3d(var(--design-front-x, 0), var(--design-front-y, 0), 0) rotate(2.5deg);
	transition: transform .2s ease-out;
}

.pump-design-page .pump-design-art-card img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(.06) rotate(-28deg);
	transform-origin: 50% 50%;
	filter: saturate(.94) contrast(1.04);
	will-change: transform, opacity, filter;
}

.pump-design-page .pump-design-art-card img.is-active {
	opacity: 1;
	transform: scale(1);
}

.pump-design-page .pump-design-art-card img.is-twist-out {
	animation: pump-design-twist-out .2s cubic-bezier(.55, .02, .78, .2) both;
}

.pump-design-page .pump-design-art-card img.is-twist-in {
	animation: pump-design-twist-in .28s cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes pump-design-twist-out {
	0% {
		opacity: 1;
		transform: scale(1) rotate(0deg);
		filter: saturate(.94) contrast(1.04) blur(0);
	}
	58% { opacity: .9; }
	100% {
		opacity: 0;
		transform: scale(.06) rotate(28deg);
		filter: saturate(1.08) contrast(1.12) blur(3px);
	}
}

@keyframes pump-design-twist-in {
	0% {
		opacity: 0;
		transform: scale(.06) rotate(-28deg);
		filter: saturate(1.08) contrast(1.12) blur(3px);
	}
	38% { opacity: 1; }
	78% { transform: scale(1.025) rotate(.8deg); }
	100% {
		opacity: 1;
		transform: scale(1) rotate(0deg);
		filter: saturate(.94) contrast(1.04) blur(0);
	}
}

.pump-design-page .pump-design-ghost-type {
	position: absolute;
	right: 8%;
	bottom: 20%;
	z-index: 1;
	color: transparent;
	font-size: clamp(86px, 10vw, 190px);
	font-weight: 700;
	line-height: 1;
	-webkit-text-stroke: 1px color-mix(in srgb, var(--tt-text-color) 8%, transparent);
	text-transform: uppercase;
	pointer-events: none;
}

.pump-design-page .pump-design-baseline {
	position: absolute;
	right: 5.2%;
	top: 69%;
	z-index: 2;
	display: flex;
	gap: 5px;
	align-items: flex-end;
	height: 38px;
}

.pump-design-page .pump-design-baseline span {
	display: block;
	width: 1px;
	height: calc(6px + var(--tick, 1) * 5px);
	background: color-mix(in srgb, var(--tt-text-color) 54%, transparent);
}

.pump-web-hero-booting .pump-design-page .pump-design-artboard-hero .pump-design-entrance {
	opacity: 0;
}

@media (max-width: 1199px) {
	.pump-design-page .pump-design-title-create { top: 22%; }
	.pump-design-page .pump-design-title-visual { top: 33%; left: 5.2%; }
	.pump-design-page .pump-design-title-brand { top: 50%; left: 5.2%; }
	.pump-design-page .pump-design-art-figure { top: 45%; left: 58%; width: clamp(430px, 52vw, 650px); }
	.pump-design-page .pump-design-tech-coords,
	.pump-design-page .pump-design-tech-color,
	.pump-design-page .pump-design-baseline { display: none; }
	.pump-design-page .pump-design-hero-copy { width: min(35vw, 360px); }
	.pump-design-page .pump-design-hero-actions { gap: 8px; }
	.pump-design-page .pump-design-hero-actions .tt-btn { padding-inline: 18px; font-size: 13px; }
}

@media (max-width: 767px) {
	.pump-design-page #page-header.pump-design-artboard-hero,
	.pump-design-page .pump-design-artboard-inner {
		min-height: max(1088px, 100svh);
	}

	.pump-design-page .pump-design-artboard-inner {
		padding: 92px 18px 70px;
	}

	.pump-design-page .pump-design-ruler,
	.pump-design-page .pump-design-guide-short,
	.pump-design-page .pump-design-tech-coords,
	.pump-design-page .pump-design-tech-size,
	.pump-design-page .pump-design-tech-color,
	.pump-design-page .pump-design-baseline,
	.pump-design-page .pump-design-crop-br { display: none; }

	.pump-design-page .pump-design-guide-x { top: 35%; }
	.pump-design-page .pump-design-guide-y { left: 50%; opacity: .32; }
	.pump-design-page .pump-design-crop-tl { top: 14%; left: 17px; }

	.pump-design-page .pump-design-hero-eyebrow {
		top: 14%;
		left: 18px;
		font-size: 10px;
	}

	.pump-design-page .pump-design-title-create {
		top: 194px;
		left: 18px;
		font-size: clamp(48px, 16vw, 68px);
	}

	.pump-design-page .pump-design-title-visual {
		top: 244px;
		left: 12px;
		font-size: clamp(60px, 18vw, 72px);
	}

	.pump-design-page .pump-design-art-figure {
		top: 46%;
		left: 56%;
		width: min(88vw, 390px);
	}

	.pump-design-page .pump-design-selection { inset: 12% 8% 9% 9%; }
	.pump-design-page .pump-design-pointer { right: -2%; bottom: 12%; font-size: 24px; }

	.pump-design-page .pump-design-title-brand {
		top: 320px;
		left: 18px;
		z-index: 6;
		font-size: clamp(44px, 13.5vw, 58px);
	}

	.pump-design-page .pump-design-red-path {
		right: -72px;
		width: auto;
	}

	.pump-design-page .pump-design-red-path path { stroke-width: clamp(84px, 24vw, 104px); }
	.pump-design-page .pump-design-red-tail { display: none; }

	.pump-design-page .pump-design-art-card {
		top: 654px;
		right: auto;
		bottom: auto;
		left: 50%;
		width: calc(100% - 20px);
		max-width: 420px;
		box-shadow: 6px 6px 0 var(--tt-text-color);
		translate: -50% 0;
		transform: rotate(2.5deg);
	}

	.pump-design-page .pump-design-ghost-type { display: none; }

	.pump-design-page .pump-design-hero-copy {
		left: 18px;
		right: 18px;
		top: 402px;
		bottom: auto;
		width: auto;
	}

	.pump-design-page .pump-design-hero-description {
		font-size: clamp(12px, 3.45vw, 14px);
		line-height: 1.42;
	}

	.pump-design-page .pump-design-hero-actions {
		top: 522px;
		left: 18px;
		right: 18px;
		bottom: auto;
		width: auto;
		display: grid;
		grid-template-columns: minmax(0, 220px);
		justify-content: center;
		gap: 8px;
	}

	.pump-design-page .pump-design-hero-actions > a[href="#design-work-examples"] { display: none; }

	.pump-design-page .pump-design-hero-actions .tt-btn {
		width: 100%;
		min-width: 0;
		padding-inline: 12px;
		font-size: 11px;
	}

	.pump-design-page .pump-design-hero-copy { width: auto; }

	.pump-design-page .pump-design-tech-board {
		top: 14%;
		right: 18px;
		font-size: 8px;
	}
}

@media (max-width: 374px) {
	.pump-design-page #page-header.pump-design-artboard-hero,
	.pump-design-page .pump-design-artboard-inner { min-height: max(1088px, 100svh); }
	.pump-design-page .pump-design-title-create { font-size: 48px; }
	.pump-design-page .pump-design-title-visual { font-size: 56px; }
	.pump-design-page .pump-design-title-brand { top: 320px; font-size: 42px; }
	.pump-design-page .pump-design-art-figure { top: 45%; width: 300px; }
	.pump-design-page .pump-design-hero-copy { top: 402px; bottom: auto; }
	.pump-design-page .pump-design-hero-actions { grid-template-columns: minmax(0, 220px); top: 517px; bottom: auto; }
	.pump-design-page .pump-design-art-card { top: 654px; bottom: auto; width: calc(100% - 20px); }
	.pump-design-page .pump-design-hero-actions .tt-btn { min-height: 44px; margin-top: 0; }
	.pump-design-page .pump-design-hero-actions .tt-btn + .tt-btn { margin-top: 0; }
}

/* Design directions: focused, self-contained service cards. */
.pump-design-page .pump-design-directions {
	padding-top: clamp(64px, 7vw, 110px);
	padding-bottom: clamp(76px, 8vw, 130px);
}

.pump-design-page .pump-design-directions .pump-web-formats-intro {
	display: block;
	margin: 0 0 clamp(38px, 4.5vw, 70px);
	text-align: center;
}

.pump-design-page .pump-design-directions .pump-web-formats-intro h2 {
	width: 100%;
	max-width: none;
	margin: 0;
	font-size: clamp(42px, 5vw, 78px);
	line-height: .98;
	text-wrap: balance;
}

.pump-design-page .pump-design-directions .pump-web-format-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(14px, 1.25vw, 22px);
}

.pump-design-page .pump-design-directions .pump-web-format-column {
	position: relative;
	display: flex;
	min-height: 390px;
	padding: clamp(26px, 2.2vw, 38px);
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 72%, transparent);
	border-radius: 24px;
	background:
		radial-gradient(circle at 100% 0, color-mix(in srgb, var(--tt-main-color) 10%, transparent) 0, transparent 36%),
		color-mix(in srgb, var(--tt-bg-color) 96%, var(--tt-text-color) 4%);
	box-shadow: 7px 7px 0 var(--tt-text-color);
	transform: translate3d(0, 0, 0);
	transition: transform .35s cubic-bezier(.2, .75, .25, 1), border-color .35s ease, box-shadow .35s ease;
}

.pump-design-page .pump-design-directions .pump-web-format-column::after {
	content: "";
	position: absolute;
	right: -72px;
	bottom: -72px;
	width: 170px;
	aspect-ratio: 1;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 14%, transparent);
	border-radius: 50%;
	transition: scale .4s ease, border-color .4s ease;
}

.pump-design-page .pump-design-directions .pump-web-format-column:hover {
	border-color: var(--tt-main-color);
	box-shadow: 10px 10px 0 var(--tt-text-color);
	transform: translate3d(0, -7px, 0);
}

.pump-design-page .pump-design-directions .pump-web-format-column:hover::after {
	scale: 1.14;
	border-color: color-mix(in srgb, var(--tt-main-color) 45%, transparent);
}

.pump-design-page .pump-design-direction-icon {
	display: grid;
	width: 54px;
	height: 54px;
	margin: 0 0 clamp(26px, 2.7vw, 44px);
	place-items: center;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 25%, transparent);
	border-radius: 50%;
	color: var(--tt-main-color);
	font-size: 19px;
	transition: color .3s ease, background-color .3s ease, rotate .4s ease;
}

.pump-design-page .pump-design-directions .pump-web-format-column:hover .pump-design-direction-icon {
	color: var(--tt-bg-color);
	background: var(--tt-main-color);
	rotate: -7deg;
}

.pump-design-page .pump-design-directions .pump-web-format-column h3 {
	min-height: 2.1em;
	margin: 0 0 18px;
	font-size: clamp(27px, 2.05vw, 36px);
	line-height: 1.02;
	letter-spacing: -.035em;
}

.pump-design-page .pump-design-directions .pump-web-format-column > p {
	margin: 0 0 24px;
	color: color-mix(in srgb, var(--tt-text-color) 66%, transparent);
	font-size: clamp(13px, .95vw, 16px);
	line-height: 1.52;
}

.pump-design-page .pump-design-directions .pump-web-format-column ul {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: auto 0 0;
	padding: 0;
	list-style: none;
}

.pump-design-page .pump-design-directions .pump-web-format-column li {
	margin: 0;
	padding: 7px 10px;
	border: 1px solid color-mix(in srgb, var(--tt-text-color) 22%, transparent);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

@media (max-width: 1199px) {
	.pump-design-page .pump-design-directions .pump-web-format-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pump-design-page .pump-design-directions .pump-web-format-column {
		min-height: 350px;
	}
}

@media (max-width: 767px) {
	.pump-design-page .pump-design-directions {
		padding-top: 56px;
		padding-bottom: 76px;
	}

	.pump-design-page .pump-design-directions .pump-web-formats-intro {
		margin-bottom: 32px;
	}

	.pump-design-page .pump-design-directions .pump-web-formats-intro h2 {
		font-size: clamp(36px, 11.5vw, 52px);
	}

	.pump-design-page .pump-design-directions .pump-web-format-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.pump-design-page .pump-design-directions .pump-web-format-column {
		min-height: 0;
		padding: 26px 22px 28px;
		border-radius: 20px;
		box-shadow: 6px 6px 0 var(--tt-text-color);
	}

	.pump-design-page .pump-design-direction-icon {
		width: 48px;
		height: 48px;
		margin-bottom: 24px;
	}

	.pump-design-page .pump-design-directions .pump-web-format-column h3 {
		min-height: 0;
		font-size: clamp(28px, 8.6vw, 36px);
	}

	.pump-design-page .pump-design-directions .pump-web-format-column ul {
		margin-top: 4px;
	}
}

/* Moving works heading */
.pump-design-moving-works {
	overflow: hidden;
}

.pump-design-moving-desktop {
	--pump-design-moving-row-gap: clamp(2px, .45vw, 8px);
	display: grid;
	gap: var(--pump-design-moving-row-gap);
}

.pump-design-moving-set {
	display: grid;
	gap: var(--pump-design-moving-row-gap);
}

@media (min-width: 768px) {
	.pump-design-moving-desktop .tt-moi-item {
		width: 28vw;
	}
}

.pump-design-mobile-gallery {
	display: none;
}

.pump-design-moving-works-heading {
	position: relative;
	display: flex;
	justify-content: center;
	padding-bottom: 34px;
}
.pump-design-moving-works-heading .tt-heading-title {
	position: relative;
	display: inline-block;
	width: auto;
	margin: 0;
	font-size: clamp(48px, 6vw, 104px);
	line-height: .92;
	letter-spacing: -.055em;
	text-transform: uppercase;
}
.pump-design-moving-works-heading::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 4px;
	width: min(68vw, 720px);
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(23, 24, 27, .42) 18%, rgba(23, 24, 27, .42) 82%, transparent);
	transform: translateX(-50%);
}
.pump-design-moving-works-heading::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -1px;
	width: 11px;
	height: 11px;
	border: 2px solid var(--tt-main-color, #b53216);
	border-radius: 50%;
	background: #e9e6de;
	box-shadow: 0 0 0 6px rgba(181, 50, 22, .09);
	transform: translateX(-50%);
}

/* Reusable title underline stays authored above; this modifier hides it locally. */
.pump-design-moving-works-heading.pump-title-underline-off {
	padding-bottom: 0;
}

.pump-design-moving-works-heading.pump-title-underline-off::before,
.pump-design-moving-works-heading.pump-title-underline-off::after {
	display: none;
}

@media (max-width: 767px) {
	.pump-design-moving-works {
		padding: 44px 0 58px;
	}

	.pump-design-moving-desktop {
		display: none;
	}

	.pump-design-mobile-gallery {
		display: block;
		padding: 0 14px;
	}

	.pump-design-mobile-gallery .tt-grid-list {
		gap: 12px !important;
	}

	.pump-design-mobile-gallery.tt-gai-boxed .tt-gallery-item {
		padding: 5px;
		border-width: 1px;
		box-shadow: 4px 4px 0 -1px var(--tt-shadow-color);
	}

	.pump-design-mobile-gallery .tt-gallery-image,
	.pump-design-mobile-gallery .tt-gallery-item,
	.pump-design-mobile-gallery .tt-gallery-image img {
		border-radius: 10px;
	}

	.pump-design-moving-works-heading {
		padding-bottom: 25px;
	}
	.pump-design-moving-works-heading .tt-heading-title {
		font-size: clamp(38px, 12vw, 58px);
	}
	.pump-design-moving-works-heading::before {
		width: 82vw;
	}
}

/* Final design CTA — a living artboard rather than a generic contact block. */
.pump-design-cta {
	--design-cta-red: #bd3214;
	--design-cta-ink: #151619;
	--design-cta-paper: #efede6;
	position: relative;
	isolation: isolate;
	min-height: clamp(720px, 88vh, 920px);
	display: flex;
	align-items: center;
	overflow: hidden;
	padding: clamp(94px, 9vw, 150px) 0;
	color: var(--design-cta-ink);
	background:
		linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px),
		radial-gradient(circle at 82% 13%, rgba(255,189,153,.28), transparent 27%),
		linear-gradient(128deg, #cb3b19 0%, var(--design-cta-red) 48%, #8b230f 100%);
	background-size: 32px 32px, 32px 32px, auto, auto;
	animation: pump-design-cta-grid 14s linear infinite;
}

.pump-design-cta::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(112deg, transparent 0 44%, rgba(21,22,25,.13) 44% 58%, transparent 58% 100%);
	content: "";
	transform: skewX(-12deg);
}

.pump-design-cta__wordmark {
	position: absolute;
	left: 50%;
	bottom: -.08em;
	z-index: -1;
	color: rgba(255,255,255,.06);
	font-size: clamp(90px, 15vw, 270px);
	font-weight: 850;
	line-height: .78;
	letter-spacing: -.065em;
	white-space: nowrap;
	transform: translateX(-50%);
}

.pump-design-cta__orbit {
	position: absolute;
	z-index: 0;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 50%;
	pointer-events: none;
	animation: pump-design-cta-orbit 8s ease-in-out infinite;
}

.pump-design-cta__orbit::before,
.pump-design-cta__orbit::after {
	position: absolute;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #fff;
	content: "";
}

.pump-design-cta__orbit::before { top: 8%; left: 18%; }
.pump-design-cta__orbit::after { right: 8%; bottom: 18%; background: var(--design-cta-ink); }
.pump-design-cta__orbit--one { top: 5%; right: 3%; width: 260px; height: 260px; }
.pump-design-cta__orbit--two { bottom: 4%; left: 2%; width: 150px; height: 150px; animation-delay: -4s; }

.pump-design-cta__shell { position: relative; z-index: 2; width: 100%; }

.pump-design-cta__board {
	display: grid;
	grid-template-columns: minmax(0, 1fr) clamp(112px, 10vw, 164px);
	min-height: clamp(550px, 58vw, 700px);
	border: 2px solid var(--design-cta-ink);
	background: var(--design-cta-paper);
	box-shadow: clamp(10px, 1.2vw, 18px) clamp(12px, 1.4vw, 22px) 0 var(--design-cta-ink);
	transform: rotate(-.55deg);
	transform-origin: center;
	animation: pump-design-cta-board 6.5s ease-in-out infinite;
}

.pump-design-cta__canvas {
	position: relative;
	display: flex;
	min-width: 0;
	padding: clamp(38px, 4.2vw, 70px);
	flex-direction: column;
	overflow: hidden;
	background:
		linear-gradient(rgba(21,22,25,.075) 1px, transparent 1px),
		linear-gradient(90deg, rgba(21,22,25,.075) 1px, transparent 1px);
	background-size: 32px 32px;
}

.pump-design-cta__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(21,22,25,.34);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .04em;
}

.pump-design-cta__meta span { display: inline-flex; align-items: center; gap: 8px; }
.pump-design-cta__meta i { width: 8px; height: 8px; border-radius: 50%; background: #18a968; box-shadow: 0 0 0 5px rgba(24,169,104,.13); animation: pump-design-cta-status 1.8s ease-in-out infinite; }
.pump-design-cta__kicker { margin: clamp(28px, 3vw, 44px) 0 15px; color: var(--design-cta-red); font-size: 10px; font-weight: 900; text-transform: uppercase; }

.pump-design-cta__title {
	max-width: 12.5em;
	margin: 0;
	font-size: clamp(46px, 5.5vw, 96px);
	font-weight: 800;
	line-height: .86;
	letter-spacing: -.06em;
	text-transform: uppercase;
}

.pump-design-cta__title > span { display: block; width: fit-content; }
.pump-design-cta__selected {
	position: relative;
	z-index: 1;
	margin-top: .13em;
	padding: .04em .12em .1em;
	border: 2px solid var(--design-cta-red);
	background: var(--design-cta-red);
	box-shadow: 8px 8px 0 rgba(21,22,25,.16);
	color: #fff;
	transform: rotate(-.8deg);
}

.pump-design-cta__handle {
	position: absolute;
	width: 9px;
	height: 9px;
	border: 2px solid var(--design-cta-red);
	background: var(--design-cta-paper);
	animation: pump-design-cta-handle 1.7s ease-in-out infinite;
}

.pump-design-cta__handle--tl { top: -6px; left: -6px; }
.pump-design-cta__handle--tr { top: -6px; right: -6px; animation-delay: -.4s; }
.pump-design-cta__handle--br { right: -6px; bottom: -6px; animation-delay: -.8s; }
.pump-design-cta__handle--bl { bottom: -6px; left: -6px; animation-delay: -1.2s; }

.pump-design-cta__bottom {
	display: grid;
	grid-template-columns: minmax(260px, .75fr) minmax(360px, 1fr);
	gap: clamp(30px, 5vw, 80px);
	margin-top: auto;
	padding-top: clamp(35px, 4vw, 60px);
	align-items: end;
}

.pump-design-cta__copy { max-width: 590px; margin: 0; font-size: clamp(13px, 1vw, 17px); font-weight: 650; line-height: 1.55; }
.pump-design-cta__actions { display: flex; justify-content: flex-end; gap: 10px; }
.pump-design-cta__btn {
	display: inline-flex;
	min-height: 58px;
	padding: 0 clamp(18px, 1.7vw, 28px);
	align-items: center;
	justify-content: center;
	gap: 14px;
	border: 2px solid var(--design-cta-ink);
	color: var(--design-cta-ink);
	font-size: 11px;
	font-weight: 850;
	text-decoration: none;
	text-transform: uppercase;
	transition: color .25s ease, background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.pump-design-cta__btn--primary { background: var(--design-cta-ink); color: #fff; box-shadow: 6px 6px 0 var(--design-cta-red); }
.pump-design-cta__btn:hover,
.pump-design-cta__btn:focus-visible { background: var(--design-cta-red); color: #fff; transform: translateY(-4px) rotate(-.4deg); box-shadow: 6px 7px 0 var(--design-cta-ink); }

.pump-design-cta__cursor {
	position: absolute;
	top: 43%;
	right: 8%;
	z-index: 4;
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--design-cta-red);
	font-size: 22px;
	transform: rotate(-18deg);
	animation: pump-design-cta-cursor 4.3s cubic-bezier(.45,0,.25,1) infinite;
}

.pump-design-cta__cursor b { padding: 7px 9px; background: var(--design-cta-ink); color: #fff; font-size: 8px; letter-spacing: .04em; }
.pump-design-cta__crop { position: absolute; width: 38px; height: 38px; border-color: var(--design-cta-ink); opacity: .55; }
.pump-design-cta__crop--tl { top: 20px; left: 20px; border-top: 2px solid; border-left: 2px solid; }
.pump-design-cta__crop--br { right: 20px; bottom: 20px; border-right: 2px solid; border-bottom: 2px solid; }

.pump-design-cta__rail {
	display: flex;
	padding: 30px 22px;
	flex-direction: column;
	align-items: center;
	border-left: 2px solid var(--design-cta-ink);
	background: var(--design-cta-ink);
	color: #fff;
}

.pump-design-cta__rail-label { font-size: 8px; font-weight: 800; letter-spacing: .08em; writing-mode: vertical-rl; }
.pump-design-cta__rail strong { margin: auto 0 25px; font-family: Arial, sans-serif; font-size: clamp(54px, 5vw, 82px); line-height: 1; letter-spacing: -.09em; transform: rotate(90deg); }
.pump-design-cta__swatches { display: grid; width: 100%; gap: 7px; }
.pump-design-cta__swatches i { display: block; height: 17px; border: 1px solid rgba(255,255,255,.35); animation: pump-design-cta-swatch 3.2s ease-in-out infinite; }
.pump-design-cta__swatches i:nth-child(1) { background: #bd3214; }
.pump-design-cta__swatches i:nth-child(2) { background: #efede6; animation-delay: -.5s; }
.pump-design-cta__swatches i:nth-child(3) { background: #ffb99a; animation-delay: -1s; }
.pump-design-cta__swatches i:nth-child(4) { background: #16171a; animation-delay: -1.5s; }
.pump-design-cta__rail-code { margin-top: 24px; color: rgba(255,255,255,.5); font-size: 8px; line-height: 1.6; }
.pump-design-cta__rail-status { display: flex; margin-top: auto; align-items: center; gap: 7px; font-size: 8px; font-weight: 850; }
.pump-design-cta__rail-status i { width: 7px; height: 7px; border-radius: 50%; background: #18a968; box-shadow: 0 0 0 4px rgba(24,169,104,.15); }

@keyframes pump-design-cta-grid { to { background-position: 32px 32px, 32px 32px, 0 0, 0 0; } }
@keyframes pump-design-cta-board { 0%,100% { transform: rotate(-.55deg) translateY(0); } 50% { transform: rotate(-.25deg) translateY(-8px); } }
@keyframes pump-design-cta-orbit { 0%,100% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(17deg) scale(1.06); } }
@keyframes pump-design-cta-status { 50% { box-shadow: 0 0 0 9px rgba(24,169,104,0); } }
@keyframes pump-design-cta-handle { 50% { transform: scale(1.35); } }
@keyframes pump-design-cta-cursor { 0%,100% { translate: 0 0; } 38% { translate: 32px -22px; } 68% { translate: -18px 24px; } }
@keyframes pump-design-cta-swatch { 50% { transform: scaleX(.82); transform-origin: right; } }

@media (max-width: 1199px) {
	.pump-design-cta { min-height: 760px; }
	.pump-design-cta__board { grid-template-columns: minmax(0, 1fr) 105px; }
	.pump-design-cta__title { font-size: clamp(50px, 7vw, 76px); }
	.pump-design-cta__bottom { grid-template-columns: 1fr; gap: 24px; }
	.pump-design-cta__actions { justify-content: flex-start; }
	.pump-design-cta__cursor { right: 5%; }
}

@media (max-width: 767px) {
	.pump-design-cta { min-height: 760px; padding: 78px 0 92px; }
	.pump-design-cta__orbit--one { width: 150px; height: 150px; }
	.pump-design-cta__orbit--two { width: 90px; height: 90px; }
	.pump-design-cta__wordmark { font-size: 28vw; }
	.pump-design-cta__board { grid-template-columns: 1fr; min-height: 610px; box-shadow: 8px 10px 0 var(--design-cta-ink); }
	.pump-design-cta__canvas { padding: 28px 20px 30px; }
	.pump-design-cta__meta { font-size: 7px; }
	.pump-design-cta__meta span:last-child { display: none; }
	.pump-design-cta__kicker { margin-top: 34px; font-size: 8px; }
	.pump-design-cta__title { font-size: clamp(38px, 12.1vw, 54px); line-height: .89; }
	.pump-design-cta__selected { box-shadow: 5px 5px 0 rgba(21,22,25,.16); }
	.pump-design-cta__bottom { gap: 24px; padding-top: 46px; }
	.pump-design-cta__copy { font-size: 12px; }
	.pump-design-cta__actions { display: grid; grid-template-columns: 1fr; gap: 8px; }
	.pump-design-cta__btn { width: 100%; min-height: 52px; padding-inline: 14px; font-size: 10px; }
	.pump-design-cta__cursor { top: 46%; right: 8%; font-size: 17px; }
	.pump-design-cta__cursor b { display: none; }
	.pump-design-cta__rail { min-height: 58px; padding: 13px 16px; flex-direction: row; justify-content: space-between; border-top: 2px solid var(--design-cta-ink); border-left: 0; }
	.pump-design-cta__rail-label { writing-mode: horizontal-tb; }
	.pump-design-cta__rail strong { margin: 0; font-size: 32px; transform: none; }
	.pump-design-cta__swatches { width: 92px; grid-template-columns: repeat(4, 1fr); gap: 4px; }
	.pump-design-cta__swatches i { height: 24px; }
	.pump-design-cta__rail-code { display: none; }
	.pump-design-cta__rail-status { margin: 0; }
}

.pump-design-page .pump-design-content-tail-section {
	padding-top: clamp(96px, 9vw, 150px);
}

@media (max-width: 767px) {
	.pump-design-page .pump-design-content-tail-section { padding-top: 84px; }
}
