.echos-builder-header {
	position: relative;
	background: #0b0c10;
	z-index: 20;
}

.echos-builder-header .topbar,
.echos-builder-header .topbar.topbar--builder {
	position: relative;
	inset: auto;
	padding: 16px 0;
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.95),
		rgba(0, 0, 0, 0.85)
	);
}

body.echos-flexible-builder-page {
	--builder-bg: #f2efe8;
	--builder-ink: #121316;
	--builder-muted: rgba(18, 19, 22, 0.62);
	--builder-border: rgba(255, 255, 255, 0.12);
	--builder-font-display: 'Universo Sans', 'Poppins', ui-sans-serif, system-ui, sans-serif;
	--builder-font-ui: 'Poppins', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	background: var(--builder-bg);
	color: var(--builder-ink);
	font-family: var(--builder-font-ui);
}

body.echos-flexible-builder-page .container {
	width: min(1240px, calc(100% - 76px));
}

.echos-builder-section {
	background: var(--echos-section-bg, transparent);
}

body.echos-flexible-builder-page .section-title,
body.echos-flexible-builder-page .hero__title,
body.echos-flexible-builder-page .who__title,
body.echos-flexible-builder-page .contact__title {
	font-family: var(--echos-section-title-font, var(--builder-font-display));
	font-weight: 700;
	line-height: 0.94;
	letter-spacing: 0;
	text-transform: uppercase;
}

body.echos-flexible-builder-page .section-sub,
body.echos-flexible-builder-page .hero__desc,
body.echos-flexible-builder-page .who__text,
body.echos-flexible-builder-page .service-item__label {
	font-family: var(--echos-section-text-font, var(--builder-font-ui));
	letter-spacing: 0;
}

body.echos-flexible-builder-page .section-sub,
body.echos-flexible-builder-page .hero__desc,
body.echos-flexible-builder-page .who__text {
	font-weight: 400;
}

body.echos-flexible-builder-page .hero {
	height: 660px;
	background: var(--echos-section-bg, #07080f);
}

body.echos-flexible-builder-page .hero__bg {
	background:
		linear-gradient(110deg, rgba(0, 0, 0, 0.82) 12%, rgba(0, 0, 0, 0.24) 64%),
		radial-gradient(900px 420px at 25% 16%, rgba(255, 106, 0, 0.14), transparent 56%),
		var(--hero-image);
	background-position: center;
	background-size: cover;
}

body.echos-flexible-builder-page .hero__title {
	color: var(--echos-section-title-color, #fff);
	font-size: var(--echos-section-title-size, 70px);
	font-weight: 900;
	line-height: 0.9;
}

body.echos-flexible-builder-page .hero__title--accent {
	color: var(--echos-section-title-color, var(--accent));
}

body.echos-flexible-builder-page .hero__desc {
	color: var(--echos-section-text-color, rgba(255, 255, 255, 0.65));
	font-size: var(--echos-section-text-size, 14px);
	line-height: 1.55;
}

body.echos-flexible-builder-page .clients {
	padding: 72px 0 70px;
	background: var(--echos-section-bg, var(--builder-bg));
}

body.echos-flexible-builder-page .clients .section-title {
	margin-bottom: 10px;
	color: var(--echos-section-title-color, var(--builder-ink));
	font-size: var(--echos-section-title-size, 56px);
}

body.echos-flexible-builder-page .clients .section-sub {
	max-width: 740px;
	margin-inline: auto;
	color: var(--echos-section-text-color, var(--builder-muted));
	font-family: var(--echos-section-text-font, var(--builder-font-display));
	font-size: var(--echos-section-text-size, 14px);
	line-height: 1.6;
}

body.echos-flexible-builder-page .clients__row {
	margin-top: 46px;
	gap: 52px;
}

body.echos-flexible-builder-page .clients__logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 170px;
	max-height: 46px;
	object-fit: contain;
	opacity: 0.96;
}

body.echos-flexible-builder-page .clients__logo--bcp {
	height: 34px;
	max-height: none;
}

body.echos-flexible-builder-page .clients__logo--ipsos {
	height: 48px;
	max-height: none;
}

body.echos-flexible-builder-page .projects {
	padding: 88px 0 94px;
	background: var(--echos-section-bg, var(--builder-bg));
}

body.echos-flexible-builder-page .projects__head {
	align-items: center;
	margin-bottom: 26px;
}

body.echos-flexible-builder-page .projects__head .section-title {
	color: var(--echos-section-title-color, var(--builder-ink));
	font-size: var(--echos-section-title-size, 58px);
}

body.echos-flexible-builder-page .projects .section-sub {
	color: var(--echos-section-text-color, var(--builder-muted));
	font-family: var(--echos-section-text-font, var(--builder-font-ui));
	font-size: var(--echos-section-text-size, 14px);
	font-weight: 400;
	line-height: 1.6;
}

body.echos-flexible-builder-page .projects__arrows {
	gap: 14px;
}

body.echos-flexible-builder-page .icon-btn {
	width: 54px;
	height: 54px;
	border: 0;
	background: #fff;
	box-shadow: 0 12px 28px rgba(18, 19, 22, 0.08);
}

body.echos-flexible-builder-page .projects__rail {
	gap: 18px;
	padding-bottom: 12px;
}

body.echos-flexible-builder-page .proj-card {
	flex: 0 0 clamp(292px, 24vw, 330px);
	height: 338px;
	border: 0;
	border-radius: 18px;
	box-shadow: none;
	overflow: hidden;
}

body.echos-flexible-builder-page .proj-card__media {
	position: absolute;
	inset: 0;
	height: auto;
	border-bottom: 0;
	background-image: var(--media-image);
	background-position: center;
	background-size: cover;
}

body.echos-flexible-builder-page .media::before {
	content: "";
	position: absolute;
	inset: 0;
}

body.echos-flexible-builder-page .media--blue::before {
	background: linear-gradient(180deg, rgba(7, 26, 66, 0.28), rgba(6, 7, 10, 0.2));
}

body.echos-flexible-builder-page .media--red::before {
	background: linear-gradient(180deg, rgba(63, 8, 8, 0.28), rgba(8, 9, 12, 0.22));
}

body.echos-flexible-builder-page .media--green::before {
	background: linear-gradient(180deg, rgba(8, 56, 38, 0.24), rgba(7, 9, 13, 0.24));
}

body.echos-flexible-builder-page .media--purple::before {
	background: linear-gradient(180deg, rgba(39, 18, 74, 0.24), rgba(7, 9, 13, 0.24));
}

body.echos-flexible-builder-page .chip {
	top: 12px;
	right: 12px;
	left: auto;
	border: 0;
	background: rgba(255, 255, 255, 0.92);
	font-family: var(--builder-font-ui);
	font-size: 11px;
	font-weight: 700;
}

body.echos-flexible-builder-page .proj-card__meta {
	right: 8px;
	bottom: 8px;
	left: 8px;
	width: auto;
	border-radius: 14px;
	background: rgba(232, 236, 244, 0.95);
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.2);
	backdrop-filter: blur(4px);
}

body.echos-flexible-builder-page .proj-card__title {
	font-family: var(--builder-font-ui);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

body.echos-flexible-builder-page .proj-card__date {
	font-family: var(--builder-font-ui);
	font-size: 12px;
	font-weight: 400;
}

body.echos-flexible-builder-page .proj-card__go {
	width: 36px;
	height: 36px;
	color: #111318;
}

body.echos-flexible-builder-page .projects__cta {
	margin-top: 26px;
}

body.echos-flexible-builder-page .dark-block {
	padding: 84px 0;
	background: var(
		--echos-section-bg,
		radial-gradient(680px 330px at 10% 40%, rgba(255, 106, 0, 0.34), transparent 62%),
		radial-gradient(780px 390px at 89% 70%, rgba(255, 106, 0, 0.16), transparent 67%),
		linear-gradient(180deg, #060608 0%, #08090c 100%)
	);
}

body.echos-flexible-builder-page .dark-block--services {
	padding-top: 92px;
	padding-bottom: 96px;
}

body.echos-flexible-builder-page .services {
	grid-template-columns: 0.95fr 1.05fr;
	gap: 42px;
	align-items: start;
}

body.echos-flexible-builder-page .services .section-title {
	margin-bottom: 20px;
	color: var(--echos-section-title-color, #fff);
	font-size: var(--echos-section-title-size, 54px);
}

body.echos-flexible-builder-page .services .section-sub {
	max-width: 430px;
	margin-bottom: 28px;
	color: var(--echos-section-text-color, rgba(255, 255, 255, 0.72));
	font-size: var(--echos-section-text-size, 14px);
	line-height: 1.6;
}

body.echos-flexible-builder-page .services__right {
	gap: 12px;
}

body.echos-flexible-builder-page .service-item {
	min-height: 96px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 20px;
	background:
		linear-gradient(95deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04) 42%, rgba(255, 255, 255, 0.02));
	padding: 10px 14px 10px 10px;
}

body.echos-flexible-builder-page .service-item__thumb {
	position: relative;
	width: 112px;
	height: 74px;
	border: 0;
	border-radius: 14px;
	background-image: var(--thumb-image);
	background-position: center;
	background-size: cover;
}

body.echos-flexible-builder-page .service-item__thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

body.echos-flexible-builder-page .thumb--stage::after {
	background: linear-gradient(180deg, rgba(11, 24, 68, 0.18), rgba(7, 10, 16, 0.22));
}

body.echos-flexible-builder-page .thumb--lights::after {
	background: linear-gradient(180deg, rgba(80, 8, 15, 0.18), rgba(7, 10, 16, 0.22));
}

body.echos-flexible-builder-page .thumb--booth::after {
	background: linear-gradient(180deg, rgba(10, 63, 51, 0.18), rgba(7, 10, 16, 0.22));
}

body.echos-flexible-builder-page .service-item__label {
	min-width: 0;
	color: var(--echos-section-text-color, #fff);
	font-size: var(--echos-section-text-size, 26px);
	font-weight: 500;
	overflow-wrap: anywhere;
}

body.echos-flexible-builder-page .service-item__arrow {
	color: rgba(255, 255, 255, 0.95);
	font-size: 22px;
}

body.echos-flexible-builder-page .who {
	grid-template-columns: 0.93fr 1.07fr;
	gap: 54px;
}

body.echos-flexible-builder-page .who__title {
	color: var(--echos-section-title-color, #fff);
	margin-bottom: 22px;
	font-size: var(--echos-section-title-size, 54px);
}

body.echos-flexible-builder-page .who__text {
	max-width: 520px;
	margin-bottom: 30px;
	color: var(--echos-section-text-color, rgba(255, 255, 255, 0.74));
	font-size: var(--echos-section-text-size, 14px);
	line-height: 1.65;
}

body.echos-flexible-builder-page .photo-card {
	padding: 0;
	border: 1px solid var(--builder-border);
	border-radius: 28px;
	overflow: hidden;
}

body.echos-flexible-builder-page .photo-card__img {
	height: 312px;
	background-position: center;
	background-size: cover;
	position: relative;
}

body.echos-flexible-builder-page .photo-card__img::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.26));
}

body.echos-flexible-builder-page .contact {
	padding: 86px 0 36px;
}

body.echos-flexible-builder-page .contact__panel {
	grid-template-columns: minmax(0, 60%) minmax(0, 40%);
	gap: 44px;
	border-radius: 34px;
	background: var(--echos-section-bg, #e8e3d9);
	padding: 58px 64px;
}

body.echos-flexible-builder-page .contact__title {
	margin-bottom: 22px;
	color: var(--echos-section-title-color, var(--builder-ink));
	font-size: var(--echos-section-title-size, clamp(44px, 4vw, 46px));
	line-height: 0.94;
}

body.echos-flexible-builder-page .contact__text {
	max-width: 410px;
	margin-bottom: 24px;
	color: var(--echos-section-text-color, rgba(18, 19, 22, 0.62));
	font-family: var(--echos-section-text-font, var(--builder-font-ui));
	font-size: var(--echos-section-text-size, 14px);
	font-weight: 400;
	line-height: 1.65;
}

body.echos-flexible-builder-page .contact__actions {
	max-width: 290px;
}

body.echos-flexible-builder-page .contact .pill {
	justify-content: space-between;
	min-height: 48px;
	border-radius: 999px;
	padding: 9px 10px 9px 16px;
	font-family: var(--echos-section-text-font, var(--builder-font-ui));
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
}

body.echos-flexible-builder-page .contact .pill__icon {
	width: 28px;
	height: 28px;
	background: rgba(255, 255, 255, 0.12);
}

body.echos-flexible-builder-page .contact .pill__icon svg {
	width: 15px;
	height: 15px;
}

body.echos-flexible-builder-page .contact .form-card {
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
}

body.echos-flexible-builder-page .contact .form-card__hint {
	margin-bottom: 10px;
	color: rgba(18, 19, 22, 0.88);
	font-family: var(--echos-section-text-font, var(--builder-font-ui));
	font-size: 13px;
	font-weight: 600;
	text-align: left;
}

body.echos-flexible-builder-page .contact .tabs {
	--tab-count: 1;
	--tab-index: 0;
	--tab-gap: 3px;
	--tab-slot-width: calc((100% - (var(--tab-gap) * 2)) / var(--tab-count));
	position: relative;
	isolation: isolate;
	display: inline-flex;
	justify-content: flex-start;
	gap: 0;
	margin-bottom: 12px;
	border: 1px solid rgba(18, 19, 22, 0.18);
	border-radius: 999px;
	overflow: hidden;
	padding: var(--tab-gap);
}

body.echos-flexible-builder-page .contact .tabs::before {
	content: "";
	position: absolute;
	top: var(--tab-gap);
	left: var(--tab-gap);
	z-index: 0;
	width: var(--tab-slot-width);
	height: calc(100% - (var(--tab-gap) * 2));
	border-radius: 999px;
	background: #f7f4ed;
	pointer-events: none;
	transform: translateX(calc(var(--tab-index) * 100%));
	transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

body.echos-flexible-builder-page .contact .tab {
	position: relative;
	z-index: 1;
	min-width: 104px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: rgba(18, 19, 22, 0.62);
	font-family: var(--echos-section-text-font, var(--builder-font-ui));
	font-size: 11px;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: color 0.22s ease;
	white-space: nowrap;
}

body.echos-flexible-builder-page .contact .tab.is-active {
	background: transparent;
	box-shadow: none;
	color: #111318;
}

body.echos-flexible-builder-page .contact .tab:focus-visible {
	outline: none;
	box-shadow: 0 0 0 2px rgba(17, 19, 24, 0.28);
}

body.echos-flexible-builder-page .contact .input,
body.echos-flexible-builder-page .contact .textarea,
body.echos-flexible-builder-page .contact .input::placeholder,
body.echos-flexible-builder-page .contact .textarea::placeholder {
	font-family: var(--echos-section-text-font, var(--builder-font-ui));
	font-size: 12px;
	font-weight: 400;
}

body.echos-flexible-builder-page .contact .input,
body.echos-flexible-builder-page .contact .textarea {
	border: 0;
	border-radius: 10px;
	background: #f7f6f2;
	color: #22252b;
}

body.echos-flexible-builder-page .contact .input::placeholder,
body.echos-flexible-builder-page .contact .textarea::placeholder {
	color: rgba(34, 37, 43, 0.45);
}

body.echos-flexible-builder-page .contact .textarea {
	min-height: 92px;
}

body.echos-flexible-builder-page .contact .form__footer {
	margin-top: 8px;
}

body.echos-flexible-builder-page .contact .btn {
	font-family: var(--echos-section-text-font, var(--builder-font-ui));
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
}

@media (max-width: 1200px) {
	body.echos-flexible-builder-page .container {
		width: min(1240px, calc(100% - 54px));
	}

	body.echos-flexible-builder-page .hero {
		height: 620px;
	}

	body.echos-flexible-builder-page .who {
		gap: 28px;
	}
}

@media (max-width: 980px) {
	body.echos-flexible-builder-page .container {
		width: min(1240px, calc(100% - 34px));
	}

	body.echos-flexible-builder-page .hero {
		height: 560px;
	}

	body.echos-flexible-builder-page .hero__content {
		padding-bottom: 100px;
	}

	body.echos-flexible-builder-page .hero__title {
		font-size: var(--echos-section-title-size-mobile, 32px);
	}

	body.echos-flexible-builder-page .clients {
		padding: 54px 0;
	}

	body.echos-flexible-builder-page .clients .section-title,
	body.echos-flexible-builder-page .projects__head .section-title,
	body.echos-flexible-builder-page .services .section-title,
	body.echos-flexible-builder-page .who__title,
	body.echos-flexible-builder-page .contact__title {
		font-size: var(--echos-section-title-size-mobile, 44px);
	}

	body.echos-flexible-builder-page .clients__row {
		margin-top: 28px;
		gap: 24px;
	}

	body.echos-flexible-builder-page .dark-block {
		padding-top: 62px;
		padding-bottom: 62px;
	}

	body.echos-flexible-builder-page .projects {
		padding-top: 62px;
		padding-bottom: 62px;
	}

	body.echos-flexible-builder-page .projects__head {
		flex-direction: column;
		align-items: flex-start;
	}

	body.echos-flexible-builder-page .projects__arrows {
		margin-top: 8px;
	}

	body.echos-flexible-builder-page .proj-card {
		flex-basis: min(82vw, 330px);
	}

	body.echos-flexible-builder-page .who {
		grid-template-columns: 1fr;
	}

	body.echos-flexible-builder-page .services {
		grid-template-columns: 1fr;
	}

	body.echos-flexible-builder-page .contact {
		padding-top: 62px;
		padding-bottom: 62px;
	}

	body.echos-flexible-builder-page .contact__panel {
		grid-template-columns: 1fr;
		padding: 30px 24px;
	}

	body.echos-flexible-builder-page .contact__title {
		font-size: var(--echos-section-title-size-mobile, clamp(32px, 8vw, 44px));
	}

	body.echos-flexible-builder-page .contact .tabs {
		width: 100%;
		justify-content: flex-start;
	}

	body.echos-flexible-builder-page .contact .tab {
		min-width: 0;
		flex: 1;
	}
}

@media (max-width: 640px) {
	body.echos-flexible-builder-page .hero {
		height: 520px;
	}

	body.echos-flexible-builder-page .hero__desc,
	body.echos-flexible-builder-page .clients .section-sub,
	body.echos-flexible-builder-page .projects .section-sub,
	body.echos-flexible-builder-page .services .section-sub,
	body.echos-flexible-builder-page .who__text,
	body.echos-flexible-builder-page .contact__text {
		font-size: var(--echos-section-text-size-mobile, 12px);
	}

	body.echos-flexible-builder-page .clients .section-title,
	body.echos-flexible-builder-page .projects__head .section-title,
	body.echos-flexible-builder-page .services .section-title,
	body.echos-flexible-builder-page .who__title,
	body.echos-flexible-builder-page .contact__title {
		font-size: var(--echos-section-title-size-mobile, 36px);
	}

	body.echos-flexible-builder-page .clients__row {
		gap: 18px 24px;
	}

	body.echos-flexible-builder-page .clients__logo {
		max-width: 42%;
		max-height: 34px;
	}

	body.echos-flexible-builder-page .clients__logo--bcp,
	body.echos-flexible-builder-page .clients__logo--ipsos {
		width: auto;
		height: auto;
		max-height: 34px;
	}

	body.echos-flexible-builder-page .photo-card__img {
		height: 230px;
	}

	body.echos-flexible-builder-page .service-item {
		min-height: 84px;
	}

	body.echos-flexible-builder-page .service-item__thumb {
		width: 86px;
		height: 58px;
	}

	body.echos-flexible-builder-page .service-item__label {
		font-size: var(--echos-section-text-size-mobile, 22px);
	}

	body.echos-flexible-builder-page .contact__title {
		font-size: var(--echos-section-title-size-mobile, clamp(32px, 8vw, 44px));
	}

	body.echos-flexible-builder-page .contact__actions {
		max-width: none;
	}
}
