.cw-brands,
.cw-tech,
.cw-request {
	--cw-paper: #f2f0e3;
	--cw-bone: #faf7ef;
	--cw-ink: #15140f;
	--cw-muted: #5a5448;
	--cw-coral: #ed6f5c;
	--cw-line: rgba(21, 20, 15, 0.14);
	color: var(--cw-ink);
}
.cw-services-heading {
	max-width: 900px;
	margin: 30px auto 44px;
	text-align: center;
}
body.page-template-template-front-marketing .atelier-landing > .cw-brands {
	min-height: 0;
}
.cw-services-heading .editorial-title {
	margin: 0;
	font-size: clamp(30px, 3.8vw, 55px);
	line-height: 1.5;
	letter-spacing: -0.025em;
}
.cw-services-heading > p {
	max-width: 640px;
	margin: 16px auto 0;
	color: var(--cw-muted);
	font-size: 17px;
	line-height: 1.9;
}
.cw-brand-marquee {
	overflow: hidden;
	direction: ltr;
	padding-block: 14px;
}
.cw-brand-track {
	display: flex;
	width: max-content;
	animation: cw-brands-loop 48s linear infinite;
}
.cw-brand-run {
	display: flex;
	flex: 0 0 auto;
	width: max-content;
	gap: 24px;
	padding-right: 24px;
}
.cw-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 116px;
	min-height: 116px;
	padding: 10px;
	border: 0;
	border-radius: 0;
	background: transparent;
	direction: rtl;
}
.cw-brand img {
	width: 96px;
	height: 96px;
	object-fit: contain;
	border-radius: 0;
	transition: transform 250ms ease;
}
.cw-brand:hover img {
	transform: scale(1.06);
}
.cw-brand-marquee:is(:hover, :focus-within) .cw-brand-track {
	animation-play-state: paused;
}
.cw-tech-stage {
	width: 100%;
}
/* Native sticky positioning stays inside this section's normal document flow. */
body.page-template-template-front-marketing .atelier-landing > .cw-tech {
	min-height: 0;
	align-content: normal;
	z-index: 1;
	overflow-anchor: none;
}
.cw-tech-stage {
	background: var(--section-paper);
}
.cw-tech.is-scroll-driven {
	height: calc(
		var(--cw-tech-stage-height) +
		var(--cw-tech-travel) +
		var(--cw-tech-padding)
	);
}
.cw-tech.is-scroll-driven .cw-tech-stage {
	position: sticky;
	top: var(--cw-tech-top);
	min-height: var(--cw-tech-stage-height);
}
.cw-tech-stage.is-measuring .cw-tech-panel {
	display: block !important;
}
.cw-tech .cw-services-heading {
	margin-top: 0;
}
.cw-tech-layout {
	display: grid;
	grid-template-columns: 1fr 1.05fr;
	gap: 48px;
	align-items: center;
}
.cw-tech-row {
	border-bottom: 1px solid var(--cw-line);
}
.cw-tech-row h3 {
	margin: 0;
}
.cw-tech-select {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 20px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--cw-muted);
	text-align: right;
	cursor: pointer;
	box-shadow: none;
	transition: color 550ms ease;
}
.cw-tech-select > span:first-child {
	flex: 0 0 30px;
	font-size: 28px;
	color: var(--cw-coral);
	transition: color 550ms ease;
}
.cw-tech-row:not(.is-active) .cw-tech-select > span:first-child {
	color: #96938b;
}
.cw-tech-select > span:nth-child(2) {
	flex: 1;
	font:
		500 19px / 1.6 "Alexandria",
		sans-serif;
}
.cw-tech-select small {
	display: block;
	margin-top: 4px;
	font:
		400 12px / 1.6 "IBM Plex Sans Arabic",
		sans-serif;
}
.cw-tech-plus {
	font-size: 24px;
	font-weight: 400;
	transition:
		transform 550ms ease,
		color 550ms ease;
}
.cw-tech-row.is-active {
	border-color: var(--cw-coral);
}
.cw-tech-row.is-active .cw-tech-select {
	color: var(--cw-ink);
}
.cw-tech-row.is-active .cw-tech-plus {
	transform: rotate(45deg);
}
.cw-tech-panel {
	padding: 0 46px 22px 0;
}
.cw-tech-panel > p {
	margin: 0 0 16px;
	color: var(--cw-muted);
	font-size: 15px;
	line-height: 1.8;
}
.cw-service-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	min-height: 46px;
	padding: 11px 22px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--cw-coral);
	color: var(--cw-ink);
	font:
		500 14px / 1.6 "Alexandria",
		sans-serif;
	text-decoration: none;
	cursor: pointer;
	transition:
		background 180ms ease,
		transform 180ms ease;
}
.cw-service-button:hover {
	background: #f08e7c;
	color: var(--cw-ink);
	transform: translateY(-2px);
}
.cw-tech-art {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--cw-line);
	border-radius: 28px;
	background: var(--cw-bone);
	aspect-ratio: 1.1;
}
.cw-service-visual {
	height: 100%;
}
.cw-service-visual > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.cw-service-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 28px;
	text-align: center;
	background:
		radial-gradient(
			ellipse at 0 100%,
			rgba(237, 111, 92, 0.18),
			transparent 65%
		),
		radial-gradient(
			ellipse at 100% 0,
			rgba(110, 116, 72, 0.12),
			transparent 65%
		);
}
.cw-service-placeholder > span {
	display: grid;
	place-items: center;
	width: 130px;
	height: 130px;
	margin-bottom: 28px;
	border: 1px solid var(--cw-line);
	border-radius: 30px;
	font-size: 64px;
	color: var(--cw-coral);
	background: var(--cw-bone);
	box-shadow: 0 16px 40px rgba(21, 20, 15, 0.06);
}
.cw-service-placeholder strong {
	font:
		600 24px / 1.7 "Alexandria",
		sans-serif;
}
.cw-service-placeholder p {
	color: var(--cw-muted);
	margin: 10px 0;
}
.cw-service-placeholder small {
	margin-top: 25px;
	color: var(--cw-muted);
	font-size: 11px;
}
.cw-brands [hidden],
.cw-tech [hidden],
.cw-request [hidden] {
	display: none !important;
}
.cw-brands :focus-visible,
.cw-tech :focus-visible,
.cw-request :focus-visible {
	outline: 2px solid var(--cw-ink);
	outline-offset: 5px;
}
/* Override the site's legacy square form controls only on this page. */
.cw-request input:not([type="checkbox"]):not([type="radio"]),
.cw-request select,
.cw-request textarea {
	background: var(--cw-bone) !important;
	border: 1px solid var(--cw-line) !important;
	border-radius: 10px !important;
	color: var(--cw-ink) !important;
	font-family: "IBM Plex Sans Arabic", sans-serif !important;
	box-shadow: none !important;
	transition: border-color 180ms ease !important;
}
.cw-request input:focus,
.cw-request select:focus,
.cw-request textarea:focus {
	border-color: var(--cw-coral) !important;
	box-shadow: none !important;
	outline: 2px solid var(--cw-ink) !important;
	outline-offset: 3px;
}
.cw-request .cw-service-button {
	border: 1px solid transparent !important;
	border-radius: 999px !important;
	background: var(--cw-coral) !important;
	color: var(--cw-ink) !important;
	font-family: "Alexandria", sans-serif !important;
	box-shadow: none !important;
	font-weight: 500 !important;
	font-size: 14px !important;
}
.cw-request .cw-service-button:hover {
	background: #f08e7c !important;
	color: var(--cw-ink) !important;
	box-shadow: none !important;
	transform: translateY(-2px) !important;
}
@keyframes cw-brands-loop {
	to {
		transform: translateX(-50%);
	}
}

.cw-request {
	background: var(--cw-paper);
	padding: 38px 24px 52px;
	font-family: "IBM Plex Sans Arabic", "Cairo", sans-serif;
}
.cw-request-shell {
	max-width: 880px;
	margin: 0 auto;
}
.cw-request-back {
	font-size: 14px;
	color: var(--cw-muted);
}
.cw-request-heading {
	margin: 0 0 22px;
}
.cw-request-heading h1 {
	margin: 0;
	font:
		700 clamp(30px, 4.5vw, 52px) / 1.5 "Alexandria",
		sans-serif;
}
.cw-request-heading h1 span {
	color: var(--cw-coral);
}
.cw-request-heading p {
	color: var(--cw-muted);
	font-size: 17px;
	margin: 6px 0 0;
}
.cw-request label {
	display: block;
	font-size: 15px;
	font-weight: 500;
}
.cw-request input:not([type="checkbox"]):not([type="radio"]),
.cw-request select,
.cw-request textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 42px;
	margin-top: 7px;
	padding: 9px 12px;
	border: 1px solid var(--cw-line);
	border-radius: 10px;
	background: var(--cw-bone);
	color: var(--cw-ink);
	font:
		400 16px / 1.6 "IBM Plex Sans Arabic",
		sans-serif;
	box-shadow: none;
}
.cw-request textarea {
	resize: vertical;
}
.cw-request-picker {
	margin-bottom: 22px;
}
.cw-request-picker > div {
	display: flex;
	align-items: center;
	gap: 12px;
}
.cw-request-picker select {
	flex: 1;
}
.cw-request-picker button {
	flex-shrink: 0;
	margin-top: 10px;
}
.cw-request-form fieldset {
	min-width: 0;
	border: 0;
	border-top: 1px solid var(--cw-line);
	padding: 16px 0 19px;
	margin: 0;
}
.cw-request-form legend {
	float: none;
	width: auto;
	margin: 0;
	padding: 0 0 0 16px;
	font:
		600 19px / 1.7 "Alexandria",
		sans-serif;
}
.cw-request-form fieldset > label + label {
	margin-top: 15px;
}
.cw-request-contact {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.cw-request-hint {
	margin: 0 0 12px;
	font-size: 13px;
	color: var(--cw-muted);
	line-height: 1.8;
}
.cw-request-budget > div {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.cw-request-budget label {
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid var(--cw-line);
	border-radius: 12px;
	padding: 12px;
	background: var(--cw-bone);
	cursor: pointer;
}
.cw-request-budget label:has(input:checked) {
	border-color: var(--cw-coral);
	background: rgba(237, 111, 92, 0.08);
}
.cw-request input:is([type="radio"], [type="checkbox"]) {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	accent-color: var(--cw-coral);
}
.cw-request-submit {
	margin-bottom: 0;
}
.cw-request-trap {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}
.cw-request-errors {
	padding: 24px;
	margin: 0 0 30px;
	background: #fbe5df;
	border: 1px solid #a54434;
	border-radius: 16px;
}
.cw-request-errors h2 {
	font-size: 20px;
	margin: 0;
}
.cw-request-errors ul {
	padding-inline-start: 22px;
	margin-bottom: 0;
}
.cw-request-success {
	padding: 44px;
	border: 1px solid var(--cw-line);
	border-radius: 24px;
	background: var(--cw-bone);
}
.cw-request-success > span {
	font-size: 42px;
	color: #6e7448;
}
.cw-request-success h2 {
	font-size: 28px;
	margin-top: 22px;
}
.cw-request-success p {
	line-height: 1.9;
	margin-bottom: 28px;
}
@media (max-width: 999px) {
	.cw-tech-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.cw-tech-art {
		grid-row: 1;
		aspect-ratio: 1.6;
		max-height: 360px;
	}
	.cw-service-placeholder > span {
		width: 76px;
		height: 76px;
		font-size: 38px;
		margin-bottom: 14px;
		border-radius: 20px;
	}
	.cw-service-placeholder strong {
		font-size: 20px;
	}
	.cw-service-placeholder small {
		margin-top: 12px;
	}
}
@media (max-width: 600px) {
	.cw-services-heading > p {
		font-size: 15px;
	}
	.cw-brand {
		width: 130px;
	}
	.cw-tech-select > span:nth-child(2) {
		font-size: 16px;
	}
	.cw-tech-panel {
		padding-right: 0;
	}
	.cw-request {
		padding: 26px 20px 38px;
	}
	.cw-request-contact {
		gap: 12px;
	}
	.cw-request-contact,
	.cw-request-budget > div {
		grid-template-columns: 1fr;
	}
	.cw-request-picker > div {
		flex-direction: column;
		align-items: stretch;
	}
	.cw-request-success {
		padding: 28px;
	}
	.cw-service-placeholder {
		padding: 18px;
	}
	.cw-service-placeholder > span {
		width: 56px;
		height: 56px;
		font-size: 30px;
		margin-bottom: 8px;
	}
	.cw-service-placeholder strong {
		font-size: 17px;
	}
	.cw-service-placeholder p {
		font-size: 13px;
		margin: 6px 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.cw-brand-track {
		animation: none;
		width: 100%;
	}
	.cw-brand-run {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
		width: 100%;
		gap: 12px;
		padding: 0;
	}
	.cw-brand {
		width: 100%;
	}
	.cw-brand-run[aria-hidden="true"] {
		display: none;
	}
	.cw-service-button,
	.cw-brand img,
	.cw-tech-select,
	.cw-tech-select > span:first-child,
	.cw-tech-plus {
		transition: none;
	}
}
