body.demo-page {
	margin: 0;
	font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
	background: #e8eef4;
	color: #111;
	-webkit-font-smoothing: antialiased;
}

body.demo-page *,
body.demo-page *::before,
body.demo-page *::after {
	box-sizing: border-box;
}

.demo-landing {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.demo-container {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 24px;
}

.demo-accent--blue {
	color: #3188c7;
}

.demo-accent--light {
	color: #b8dff8;
}

/* ── Block 00: Hero ── */

.demo-block--00 {
	padding: 5px 0 16px;
}

.demo-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	min-height: calc(100dvh - 21px);
	min-height: calc(100svh - 21px);
	border-radius: 28px;
	overflow: hidden;
	background: #3188c7;
	color: #fff;
	box-shadow: 0 8px 32px rgba(26, 74, 138, 0.1), 0 2px 8px rgba(15, 35, 60, 0.06);
}

.demo-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 32px;
	padding: 40px 44px 48px;
}

.demo-hero__logos {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
}

.demo-hero__logos img {
	display: block;
	height: clamp(38px, 4.8vw, 52px);
	width: auto;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.demo-hero__body {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: auto;
}

.demo-hero__title {
	margin: 0;
	font-size: clamp(2.75rem, 6vw, 5rem);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.demo-hero__title-accent {
	color: #b8dff8;
}

.demo-hero__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.demo-hero__tags li {
	display: inline-flex;
	padding: 10px 16px;
	border-radius: 999px;
	background: #fff;
	color: #3188c7;
	font-size: clamp(0.75rem, 0.9vw, 0.875rem);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.02em;
}

.demo-hero__tagline {
	margin: 0;
	max-width: 28em;
	color: #fff;
	font-family: "Montserrat Alternates", "Montserrat", system-ui, sans-serif;
	font-size: clamp(1rem, 1.35vw, 1.25rem);
	font-weight: 500;
	font-style: italic;
	line-height: 1.45;
}

.demo-hero__meta {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 8px 0 0;
	align-self: flex-start;
}

.demo-hero__dates {
	display: flex;
	flex-direction: column;
	margin: 0;
	font-family: "Montserrat Alternates", "Montserrat", system-ui, sans-serif;
	font-size: clamp(1.625rem, 3vw, 2.5rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.demo-hero__place {
	margin: 0;
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.02em;
}

.demo-hero__visual {
	position: relative;
	min-height: 320px;
	background: rgba(0, 0, 0, 0.08);
}

.demo-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

@media (min-width: 1025px) {
	.demo-hero__content {
		justify-content: flex-start;
		position: relative;
	}

	.demo-hero__body {
		position: absolute;
		top: 60%;
		left: clamp(64px, 9vw, 128px);
		right: 48px;
		margin-top: 0;
		transform: translateY(-50%);
	}
}

/* ── Block 01: Context ── */

.demo-block {
	padding: 16px 0;
}

.demo-block-01 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	align-items: stretch;
}

.demo-block-01__visual {
	position: relative;
	min-height: 480px;
	border-radius: 28px;
	overflow: hidden;
	background: #8fa8c4;
	isolation: isolate;
	box-shadow: 0 8px 32px rgba(26, 74, 138, 0.1), 0 2px 8px rgba(15, 35, 60, 0.06);
}

.demo-block-01__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.demo-block-01__visual-overlay {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	min-height: 480px;
	padding: 36px 40px;
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.08) 0%,
		rgba(0, 0, 0, 0.02) 40%,
		rgba(0, 0, 0, 0.35) 100%
	);
}

.demo-block-01__tag {
	display: inline-flex;
	align-self: flex-start;
	padding: 14px 24px;
	border-radius: 999px;
	background: #fff;
	color: #1a4a8a;
	font-size: clamp(1rem, 1.4vw, 1.25rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
}

.demo-block-01__visual-title {
	margin: 0;
	margin-top: auto;
	color: #fff;
	font-size: clamp(1.75rem, 2.8vw, 2.75rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.demo-block-01__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 480px;
	padding: 48px 44px;
	border-radius: 28px;
	background: #fff;
	overflow: hidden;
	isolation: isolate;
	box-shadow: 0 8px 32px rgba(26, 74, 138, 0.08), 0 2px 8px rgba(15, 35, 60, 0.05);
}

.demo-block-01__panel-inner {
	position: relative;
	z-index: 2;
}

.demo-block-01__heading {
	margin: 0 0 32px;
	color: #111;
	font-size: clamp(1.5rem, 2.2vw, 2.125rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.demo-block-01__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.demo-block-01__list li {
	position: relative;
	padding-left: 22px;
	color: #111;
	font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
	font-weight: 500;
	line-height: 1.55;
}

.demo-block-01__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #1a4a8a;
	transform: translateY(-50%);
}

/* ── Decorations ── */

.demo-deco {
	position: absolute;
	pointer-events: none;
}

.demo-deco--dots {
	width: 56px;
	height: 56px;
	background-image: radial-gradient(rgba(26, 74, 138, 0.22) 24%, transparent 26%);
	background-size: 14px 14px;
}

.demo-deco--visual-dots {
	top: 36px;
	right: 36px;
	z-index: 1;
	background-image: radial-gradient(rgba(255, 255, 255, 0.55) 24%, transparent 26%);
	opacity: 0.85;
}

.demo-deco--panel-dots {
	top: 36px;
	right: 36px;
	z-index: 1;
	opacity: 0.55;
	background-image: radial-gradient(rgba(26, 74, 138, 0.16) 24%, transparent 26%);
}

/* ── Block 02: About ── */

.demo-block-02 {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	align-items: stretch;
}

.demo-block-02__panel {
	position: relative;
	min-height: 560px;
	padding: 48px 44px;
	border-radius: 28px;
	overflow: hidden;
	background: transparent;
	box-shadow: 0 8px 32px rgba(26, 74, 138, 0.1), 0 2px 8px rgba(15, 35, 60, 0.06);
}

.demo-block-02__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: inherit;
}

.demo-block-02__panel .demo-deco {
	z-index: 2;
}

.demo-block-02__panel--left::before {
	background: #fff;
}

.demo-block-02__panel--right::before {
	background: #3d8fd4;
}

.demo-block-02__panel-inner {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.demo-block-02__panel--left {
	padding-right: clamp(48px, 8vw, 120px);
}

.demo-block-02__panel--right {
	padding-left: clamp(48px, 8vw, 120px);
	color: #fff;
}

.demo-block-02__tag {
	display: inline-flex;
	align-self: flex-start;
	padding: 14px 24px;
	border-radius: 999px;
	background: #3188c7;
	color: #fff;
	font-size: clamp(1rem, 1.4vw, 1.25rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
}

.demo-block-02__heading {
	margin: 28px 0 24px;
	color: #111;
	font-size: clamp(1.625rem, 2.8vw, 2.625rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.demo-block-02__text {
	margin: auto 0 0;
	max-width: 65%;
	color: #111;
	font-size: clamp(1rem, 1.15vw, 1.125rem);
	font-weight: 500;
	line-height: 1.6;
}

.demo-block-02__flow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 28px;
}

.demo-block-02__flow-step {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}

.demo-block-02__flow-item {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: 999px;
	background: #fff;
	color: #111;
	font-size: clamp(0.75rem, 0.95vw, 0.875rem);
	font-weight: 600;
	line-height: 1.2;
}

.demo-block-02__flow-arrow {
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
}

.demo-block-02__desc {
	margin: 0 0 24px;
	font-size: clamp(0.875rem, 1vw, 1rem);
	font-weight: 500;
	line-height: 1.55;
}

.demo-block-02__mission {
	margin: auto 0 0;
	max-width: 65%;
	padding: 16px 20px;
	border-radius: 20px;
	background: #fff;
	color: #111;
	font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
	font-weight: 500;
	line-height: 1.55;
}

.demo-block-02__mission strong {
	font-weight: 800;
}

.demo-block-02__tower-wrap {
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 1;
	width: clamp(240px, 24vw, 380px);
	transform: translateX(-50%);
	pointer-events: none;
}

.demo-block-02__tower {
	display: block;
	width: 100%;
	height: clamp(520px, 52vw, 680px);
	object-fit: contain;
	object-position: center bottom;
}

/* ── Block 03: Themes ── */

.demo-block-03 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	align-items: stretch;
}

.demo-block-03__panel {
	position: relative;
	min-height: 620px;
	padding: 48px 44px;
	border-radius: 28px;
	overflow: hidden;
	background: transparent;
	box-shadow: 0 8px 32px rgba(26, 74, 138, 0.1), 0 2px 8px rgba(15, 35, 60, 0.06);
}

.demo-block-03__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: inherit;
}

.demo-block-03__panel .demo-deco {
	z-index: 2;
}

.demo-block-03__panel--left::before {
	background: #1c1c1c;
}

.demo-block-03__panel--right::before {
	background: #fff;
}

.demo-block-03__panel-inner {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.demo-block-03__panel--left {
	color: #fff;
}

.demo-block-03__panel--left .demo-deco--visual-dots {
	background-image: radial-gradient(rgba(160, 160, 160, 0.75) 24%, transparent 26%);
	opacity: 0.85;
}

.demo-block-03__panel--right {
	color: #111;
}

.demo-block-03__heading {
	margin: 0;
	font-size: clamp(1.625rem, 2.6vw, 2.5rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: #fff;
}

.demo-block-03__heading-muted {
	color: #a0a0a0;
}

.demo-block-03__heading-dim {
	color: #4a4a4a;
}

.demo-block-03__heading--right {
	color: #111;
	font-size: clamp(1.375rem, 2vw, 2rem);
}

.demo-block-03__inset {
	margin-top: auto;
	max-width: 62%;
	padding: 18px 22px;
	border-radius: 20px;
	background: #333;
	color: #fff;
	font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
	font-weight: 500;
	line-height: 1.55;
}

.demo-block-03__tower-wrap {
	position: absolute;
	right: 0;
	top: 50%;
	z-index: 1;
	width: 58%;
	max-width: 420px;
	transform: translateY(-50%);
	pointer-events: none;
}

.demo-block-03__tower {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1170 / 657;
	object-fit: contain;
	object-position: right center;
}

.demo-block-03__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.demo-block-03__subtitle {
	margin: 0;
	flex-shrink: 0;
	max-width: 160px;
	color: #111;
	font-size: clamp(0.8125rem, 0.95vw, 0.9375rem);
	font-weight: 500;
	line-height: 1.45;
	text-align: right;
}

.demo-block-03__list {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: demo-block-03;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.demo-block-03__list li {
	position: relative;
	padding-left: 1.6em;
	color: #111;
	font-size: clamp(0.8125rem, 0.92vw, 0.9375rem);
	font-weight: 500;
	line-height: 1.45;
}

.demo-block-03__list li::before {
	content: counter(demo-block-03) ".";
	counter-increment: demo-block-03;
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 700;
}

.demo-block-03__list strong {
	font-weight: 700;
}

/* ── Block 04: Format ── */

.demo-block-04 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	align-items: stretch;
}

.demo-block-04__panel {
	position: relative;
	min-height: auto;
	padding: 36px 40px;
	border-radius: 28px;
	overflow: hidden;
	box-shadow: 0 8px 32px rgba(26, 74, 138, 0.1), 0 2px 8px rgba(15, 35, 60, 0.06);
}

.demo-block-04__panel--left {
	background: #fff;
	color: #111;
}

.demo-block-04__panel--right {
	background: #3188c7;
	color: #fff;
}

.demo-block-04__panel-inner {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.demo-block-04__panel--right .demo-deco--visual-dots {
	background-image: radial-gradient(rgba(255, 255, 255, 0.2) 24%, transparent 26%);
	opacity: 0.5;
}

.demo-block-04__tag {
	display: inline-flex;
	align-self: flex-start;
	padding: 12px 22px;
	border-radius: 999px;
	background: #3188c7;
	color: #fff;
	font-size: clamp(0.9375rem, 1.2vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
}

.demo-block-04__heading {
	margin: 16px 0 0;
	color: #111;
	font-size: clamp(1.5rem, 2.4vw, 2.25rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.demo-block-04__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.demo-block-04__stat {
	padding: 20px 22px;
	border-radius: 20px;
	background: transparent;
	border: 1px dashed #fff;
	color: #fff;
}

.demo-block-04__stat-value {
	display: block;
	font-size: clamp(2rem, 3vw, 2.75rem);
	font-weight: 800;
	line-height: 1;
	margin-bottom: 8px;
}

.demo-block-04__stat-label {
	display: block;
	font-size: clamp(0.8125rem, 0.95vw, 0.9375rem);
	font-weight: 500;
	line-height: 1.4;
}

.demo-block-04__days {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: auto;
}

.demo-block-04__day-title {
	margin: 0 0 10px;
	color: #3188c7;
	font-size: clamp(0.8125rem, 0.95vw, 0.9375rem);
	font-weight: 700;
	line-height: 1.35;
	text-transform: uppercase;
}

.demo-block-04__day-list {
	margin: 0 0 12px;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.demo-block-04__day-list li {
	position: relative;
	padding-left: 14px;
	color: #111;
	font-size: clamp(0.8125rem, 0.92vw, 0.9375rem);
	font-weight: 500;
	line-height: 1.45;
}

.demo-block-04__day-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #3188c7;
	transform: translateY(-50%);
}

.demo-block-04__result {
	display: inline-flex;
	padding: 13px 23px;
	border-radius: 20px;
	background: #3188c7;
	color: #fff;
	font-size: clamp(0.6875rem, 0.8vw, 0.8125rem);
	font-weight: 600;
	line-height: 1.3;
}

.demo-block-04__roles {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.demo-block-04__roles li {
	position: relative;
	padding-left: 16px;
	color: #fff;
	font-size: clamp(0.875rem, 1vw, 1rem);
	font-weight: 500;
	line-height: 1.45;
}

.demo-block-04__roles li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
}

.demo-block-04__audience {
	padding: 24px 26px;
	border-radius: 24px;
	background: transparent;
	border: 1px dashed #fff;
	color: #fff;
}

.demo-block-04__audience-tag {
	display: inline-flex;
	margin-bottom: 12px;
	padding: 10px 16px;
	border-radius: 999px;
	background: #fff;
	color: #3188c7;
	font-size: clamp(0.6875rem, 0.8vw, 0.8125rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}

.demo-block-04__audience-title {
	margin: 0 0 10px;
	font-size: clamp(1.25rem, 1.8vw, 1.75rem);
	font-weight: 800;
	line-height: 1.15;
	text-transform: uppercase;
}

.demo-block-04__audience-text {
	margin: 0;
	font-size: clamp(0.8125rem, 0.92vw, 0.9375rem);
	font-weight: 500;
	line-height: 1.5;
}

/* ── Block 05: Space ── */

.demo-block-05 {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.demo-block-05__media {
	display: grid;
	grid-template-columns: minmax(176px, 280px) minmax(0, 1fr);
	gap: 20px;
	align-items: stretch;
}

.demo-block-05__aside,
.demo-block-05__main {
	margin: 0;
	border-radius: 28px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 8px 32px rgba(26, 74, 138, 0.1), 0 2px 8px rgba(15, 35, 60, 0.06);
}

.demo-block-05__aside {
	min-height: 420px;
	padding: 24px 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.demo-block-05__main {
	min-height: 420px;
}

.demo-block-05__aside-image {
	display: block;
	width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
}

.demo-block-05__main-image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: contain;
	object-position: center;
	background: #fff;
}

.demo-block-05__tagline {
	margin: 0;
	padding: 8px 0 0;
	color: #3188c7;
	font-family: "Montserrat Alternates", "Montserrat", system-ui, sans-serif;
	font-size: clamp(1.125rem, 1.8vw, 1.625rem);
	font-weight: 500;
	font-style: italic;
	line-height: 1.45;
	text-align: center;
}

/* ── Block 06: Contacts ── */

.demo-block-06 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	align-items: stretch;
}

.demo-block-06__panel {
	position: relative;
	min-height: 640px;
	padding: 48px 44px;
	border-radius: 28px;
	overflow: hidden;
	box-shadow: 0 8px 32px rgba(26, 74, 138, 0.1), 0 2px 8px rgba(15, 35, 60, 0.06);
}

.demo-block-06__panel--left {
	background: #fff;
	color: #111;
}

.demo-block-06__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

.demo-block-06__panel--right {
	background: #3188c7;
	color: #fff;
}

.demo-block-06__panel-inner {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.demo-block-06__tag {
	display: inline-flex;
	align-self: flex-start;
	padding: 12px 22px;
	border-radius: 999px;
	background: #3188c7;
	color: #fff;
	font-size: clamp(0.9375rem, 1.2vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
}

.demo-block-06__heading {
	margin: 24px 0 0;
	color: #111;
	font-size: clamp(1.875rem, 3vw, 2.75rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.demo-block-06__when {
	margin-top: auto;
}

.demo-block-06__dates {
	margin: 0 0 8px;
	color: #3188c7;
	font-size: clamp(1.625rem, 2.2vw, 2.375rem);
	font-weight: 800;
	line-height: 1.15;
	text-transform: uppercase;
}

.demo-block-06__place {
	margin: 0;
	color: #3188c7;
	font-size: clamp(1.0625rem, 1.35vw, 1.3125rem);
	font-weight: 600;
	line-height: 1.45;
}

.demo-block-06__top {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.demo-block-06__section-title {
	margin: 0 0 14px;
	color: #fff;
	font-size: clamp(1.3125rem, 1.7vw, 1.625rem);
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.demo-block-06__section-title--dark {
	color: #3188c7;
}

.demo-block-06__advantages {
	padding: 20px 22px;
}

.demo-block-06__advantages-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.demo-block-06__advantages-list li {
	position: relative;
	padding-left: 16px;
	font-size: clamp(0.8125rem, 0.92vw, 0.9375rem);
	font-weight: 500;
	line-height: 1.45;
}

.demo-block-06__advantages-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
}

.demo-block-06__steps {
	padding: 20px 22px;
	border-radius: 24px;
	background: #fff;
	color: #3188c7;
}

.demo-block-06__steps-list {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: demo-block-06-steps;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.demo-block-06__steps-list li {
	position: relative;
	padding-left: 1.8em;
	font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
	font-weight: 500;
	line-height: 1.45;
}

.demo-block-06__steps-list li::before {
	content: counter(demo-block-06-steps) ".";
	counter-increment: demo-block-06-steps;
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 800;
}

.demo-block-06__contacts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	padding: 24px 26px;
	border: 1px dashed #fff;
	border-radius: 24px;
}

.demo-block-06__contact-title {
	margin: 0 0 12px;
	font-size: clamp(1.0625rem, 1.25vw, 1.25rem);
	font-weight: 700;
	line-height: 1.35;
	text-transform: uppercase;
}

.demo-block-06__contact-col p {
	margin: 0 0 6px;
	font-size: clamp(0.8125rem, 0.92vw, 0.9375rem);
	font-weight: 500;
	line-height: 1.45;
}

.demo-block-06__contact-col p:last-child {
	margin-bottom: 0;
}

.demo-block-06__contact-col a {
	color: inherit;
	text-decoration: none;
}

.demo-block-06__contact-col a:hover,
.demo-block-06__contact-col a:focus {
	text-decoration: underline;
}

.demo-block-06__footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-top: auto;
}

.demo-block-06__logos {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.demo-block-06__logos img {
	display: block;
	height: clamp(42px, 5.25vw, 60px);
	width: auto;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.demo-block-06__meta {
	text-align: right;
}

.demo-block-06__site {
	display: inline-block;
	margin-bottom: 6px;
	color: #fff;
	font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
}

.demo-block-06__site:hover,
.demo-block-06__site:focus {
	text-decoration: underline;
}

.demo-block-06__legal {
	margin: 0;
	color: rgba(255, 255, 255, 0.85);
	font-size: clamp(0.6875rem, 0.8vw, 0.8125rem);
	font-weight: 500;
	line-height: 1.4;
}

/* ── Block 08: Experts marquee ── */

.demo-block--08 {
	padding: 64px 0 32px;
	background: transparent;
}

.demo-block-08 {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.demo-block-08__header {
	text-align: center;
}

.demo-block-08__title {
	margin: 0;
	color: #111;
	font-size: clamp(2rem, 4vw, 3.25rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.demo-block-08__rows {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	overflow: hidden;
}

.demo-block-08__marquee {
	overflow: hidden;
	width: 100%;
	cursor: grab;
	touch-action: none;
	overscroll-behavior-x: contain;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}

.demo-block-08__marquee.is-grabbing {
	cursor: grabbing;
	user-select: none;
}

.demo-block-08__marquee.is-grabbing .demo-speaker-card {
	pointer-events: none;
}

.demo-block-08__track {
	display: flex;
	width: max-content;
	will-change: transform;
}

.demo-block-08__group {
	display: flex;
	gap: 20px;
	padding-right: 20px;
}

.demo-speaker-card {
	flex: 0 0 auto;
	width: clamp(220px, 20vw, 300px);
	padding: 20px 18px 22px;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 8px 32px rgba(26, 74, 138, 0.08), 0 2px 8px rgba(15, 35, 60, 0.04);
}

.demo-speaker-card__photo {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	min-height: clamp(200px, 22vw, 260px);
	margin-bottom: 16px;
}

.demo-speaker-card__photo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: clamp(200px, 22vw, 260px);
	object-fit: contain;
	object-position: bottom center;
}

.demo-speaker-card__info {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.demo-speaker-card__name {
	margin: 0;
	color: #111;
	font-size: clamp(0.9375rem, 1vw, 1.0625rem);
	font-weight: 700;
	line-height: 1.25;
}

.demo-speaker-card__role {
	margin: 0;
	color: #3188c7;
	font-size: clamp(0.8125rem, 0.9vw, 0.875rem);
	font-weight: 500;
	line-height: 1.35;
}

@media (prefers-reduced-motion: reduce) {
	.demo-block-08__marquee {
		-webkit-mask-image: none;
		mask-image: none;
		overflow: visible;
	}

	.demo-block-08__track {
		flex-wrap: wrap;
		width: 100%;
		justify-content: center;
		animation: none;
	}

	.demo-block-08__group[aria-hidden="true"] {
		display: none;
	}

	.demo-block-08__group {
		flex-wrap: wrap;
		justify-content: center;
		padding-right: 0;
	}
}

/* ── Inline partner form (between sections) ── */

.demo-block--inline-form {
	position: relative;
	z-index: 10;
	padding: 16px 0;
}

.demo-block--inline-form .demo-container {
	padding-left: clamp(40px, 7vw, 96px);
	padding-right: clamp(40px, 7vw, 96px);
}

.demo-inline-form {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 12px;
	width: fit-content;
	max-width: min(100%, 860px);
	margin: 0 auto;
	padding: 16px 20px;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.demo-inline-form::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 3px;
	background:
		linear-gradient(90deg, #3188c7 50%, transparent 50%) 0 0 / 12px 3px repeat-x,
		linear-gradient(90deg, #3188c7 50%, transparent 50%) 0 100% / 12px 3px repeat-x,
		linear-gradient(0deg, #3188c7 50%, transparent 50%) 0 0 / 3px 12px repeat-y,
		linear-gradient(0deg, #3188c7 50%, transparent 50%) 100% 0 / 3px 12px repeat-y;
	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	mask-composite: exclude;
	animation: demo-inline-form-border-march 0.8s linear infinite;
	pointer-events: none;
}

.demo-inline-form__title,
.demo-inline-form__form-wrap {
	position: relative;
	z-index: 1;
}

@keyframes demo-inline-form-border-march {
	to {
		background-position: 12px 0, -12px 100%, 0 12px, 100% -12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.demo-inline-form {
		border: 3px dashed #3188c7;
	}

	.demo-inline-form::before {
		content: none;
	}
}

.demo-inline-form__title {
	flex: 0 0 auto;
	margin: 0;
	padding-right: 4px;
	color: #111;
	font-family: "Montserrat Alternates", "Montserrat", system-ui, sans-serif;
	font-size: clamp(0.8125rem, 1vw, 0.9375rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	white-space: nowrap;
}

.demo-inline-form__form-wrap {
	flex: 0 1 auto;
	width: auto;
	min-width: 0;
}

.demo-inline-form__form-wrap .wpforms-container {
	margin: 0;
	max-width: none;
}

.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form input.wpforms-field-medium,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form select.wpforms-field-medium,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-field-row.wpforms-field-medium {
	max-width: none;
}

.demo-inline-form__form-wrap .wpforms-title,
.demo-inline-form__form-wrap .wpforms-description {
	display: none;
}

.demo-inline-form__form-wrap .wpforms-form,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
	width: auto;
	min-width: 0;
}

.demo-inline-form__form-wrap .wpforms-field-container {
	display: flex;
	flex: 0 1 auto;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
	width: auto;
	min-width: 0;
}

.demo-inline-form__form-wrap .wpforms-field {
	flex: 0 0 auto;
	width: 156px;
	min-width: 0;
	padding: 0;
	margin: 0;
	clear: none;
}

.demo-inline-form__form-wrap .wpforms-field-phone {
	width: 196px;
}

.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-field {
	padding: 0;
}

.demo-inline-form__form-wrap .wpforms-field-label,
.demo-inline-form__form-wrap label.wpforms-field-label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.demo-inline-form__form-wrap input[type="text"],
.demo-inline-form__form-wrap input[type="email"],
.demo-inline-form__form-wrap input[type="tel"],
.demo-inline-form__form-wrap input[type="number"],
.demo-inline-form__form-wrap select,
.demo-inline-form__form-wrap textarea,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form input[type="text"],
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form input[type="email"],
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form input[type="tel"],
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form input[type="number"],
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form select,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form textarea {
	width: 100%;
	height: 44px;
	padding: 8px 14px;
	border: 1px solid #d8e2ec;
	border-radius: 999px;
	background: #fff;
	color: #111;
	font-family: "Montserrat", system-ui, sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.2;
	box-shadow: none;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

.demo-inline-form__form-wrap .wpforms-field-phone-input-container,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-field-phone-input-container {
	display: flex;
	width: 100%;
	overflow: hidden;
	border: 1px solid #d8e2ec;
	border-radius: 999px;
	background: #fff;
}

.demo-inline-form__form-wrap .wpforms-field-phone .iti,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-field-phone .iti {
	display: block;
	width: 100%;
	overflow: hidden;
	border: 1px solid #d8e2ec;
	border-radius: 999px;
	background: #fff;
}

.demo-inline-form__form-wrap .wpforms-field-phone-input-container .iti,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-field-phone-input-container .iti {
	border: 0;
	background: transparent;
	overflow: visible;
}

.demo-inline-form__form-wrap .wpforms-field-phone-input-container input,
.demo-inline-form__form-wrap .wpforms-field-phone .iti input,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-field-phone-input-container input,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-field-phone .iti input {
	height: 44px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	padding-left: 48px;
}

.demo-inline-form__form-wrap .wpforms-field-phone-input-container:focus-within,
.demo-inline-form__form-wrap .wpforms-field-phone .iti:focus-within,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-field-phone-input-container:focus-within,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-field-phone .iti:focus-within {
	border-color: #3188c7;
}

.demo-inline-form__form-wrap .iti,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .iti {
	width: 100%;
}

.demo-inline-form__form-wrap input::placeholder {
	color: #7a8fa3;
}

.demo-inline-form__form-wrap input:focus,
.demo-inline-form__form-wrap select:focus,
.demo-inline-form__form-wrap textarea:focus {
	border-color: #3188c7;
	background: #fff;
	outline: none;
}

.demo-inline-form__form-wrap .wpforms-submit-container {
	flex: 0 0 auto;
	align-self: center;
	margin: 0;
	padding: 0;
}

.demo-inline-form__form-wrap button[type="submit"],
.demo-inline-form__form-wrap .wpforms-submit,
.demo-inline-form__form-wrap div.wpforms-container-full button[type="submit"],
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-submit,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form button[type="submit"],
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-submit,
body.demo-page .demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form button[type="submit"],
body.demo-page .demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-submit {
	height: 44px;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	background: #3188c7 !important;
	background-color: #3188c7 !important;
	color: #fff !important;
	font-family: "Montserrat", system-ui, sans-serif;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: none !important;
	transition: none;
}

.demo-inline-form__form-wrap button[type="submit"]:hover,
.demo-inline-form__form-wrap button[type="submit"]:focus,
.demo-inline-form__form-wrap button[type="submit"]:active,
.demo-inline-form__form-wrap .wpforms-submit:hover,
.demo-inline-form__form-wrap .wpforms-submit:focus,
.demo-inline-form__form-wrap .wpforms-submit:active,
.demo-inline-form__form-wrap div.wpforms-container-full button[type="submit"]:hover,
.demo-inline-form__form-wrap div.wpforms-container-full button[type="submit"]:focus,
.demo-inline-form__form-wrap div.wpforms-container-full button[type="submit"]:active,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-submit:hover,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-submit:focus,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-submit:active,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form button[type="submit"]:focus,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form button[type="submit"]:active,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-submit:hover,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-submit:focus,
.demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-submit:active,
body.demo-page .demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
body.demo-page .demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form button[type="submit"]:focus,
body.demo-page .demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form button[type="submit"]:active,
body.demo-page .demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-submit:hover,
body.demo-page .demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-submit:focus,
body.demo-page .demo-inline-form__form-wrap div.wpforms-container-full .wpforms-form .wpforms-submit:active {
	background: #3188c7 !important;
	background-color: #3188c7 !important;
	color: #fff !important;
	border: 0 !important;
	box-shadow: none !important;
}

.demo-inline-form__form-wrap .wpforms-error,
.demo-inline-form__form-wrap label.wpforms-error {
	font-size: 0.75rem;
}

@media (max-width: 989px) {
	.demo-block--inline-form .demo-container {
		padding-left: 24px;
		padding-right: 24px;
	}

	.demo-inline-form {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: none;
		gap: 12px;
	}

	.demo-inline-form__title {
		padding-right: 0;
		text-align: center;
		white-space: normal;
	}

	.demo-inline-form__form-wrap {
		width: 100%;
	}

	.demo-inline-form__form-wrap .wpforms-form {
		flex-direction: column;
		align-items: stretch;
	}

	.demo-inline-form__form-wrap .wpforms-field-container {
		flex-direction: column;
		align-items: stretch;
	}

	.demo-inline-form__form-wrap .wpforms-field,
	.demo-inline-form__form-wrap .wpforms-field-phone {
		width: 100%;
	}

	.demo-inline-form__form-wrap .wpforms-submit-container {
		width: 100%;
	}

	.demo-inline-form__form-wrap button[type="submit"],
	.demo-inline-form__form-wrap .wpforms-submit {
		width: 100%;
	}
}

/* ── Block 07: Partners + partner form ── */

.demo-block--07 {
	padding: 0;
}

.demo-block-07-shell {
	width: 100%;
	padding: 48px 0 64px;
	background: #000;
	color: #fff;
}

.demo-block-09 {
	padding-bottom: 56px;
}

.demo-block-09__row + .demo-block-09__row {
	margin-top: 40px;
}

.demo-block-09__title {
	margin: 0 0 24px;
	padding: 0 24px;
	color: #fff;
	font-size: clamp(1.375rem, 2.5vw, 2rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: 0.04em;
	text-align: center;
	text-transform: uppercase;
}

.demo-block-09__marquee {
	overflow: hidden;
	width: 100%;
	cursor: grab;
	touch-action: none;
	overscroll-behavior-x: contain;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}

.demo-block-09__marquee.is-grabbing {
	cursor: grabbing;
	user-select: none;
}

.demo-block-09__marquee.is-grabbing .demo-partner-logo {
	pointer-events: none;
}

.demo-block-09__track {
	display: flex;
	width: max-content;
	will-change: transform;
}

.demo-block-09__group {
	display: flex;
	gap: 32px;
	padding-right: 32px;
	align-items: center;
}

.demo-partner-logo {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: clamp(168px, 14vw, 220px);
	height: clamp(72px, 8vw, 96px);
	padding: 10px 14px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.06);
}

.demo-partner-logo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

@media (prefers-reduced-motion: reduce) {
	.demo-block-09__marquee {
		-webkit-mask-image: none;
		mask-image: none;
		overflow: visible;
	}

	.demo-block-09__track {
		flex-wrap: wrap;
		width: 100%;
		justify-content: center;
	}

	.demo-block-09__group[aria-hidden="true"] {
		display: none;
	}

	.demo-block-09__group {
		flex-wrap: wrap;
		justify-content: center;
		padding-right: 0;
	}
}

.demo-block-07__inner {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	padding-top: 8px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.demo-block-07-shell .demo-container {
	padding-top: 48px;
}

.demo-block-07__header {
	margin-bottom: 32px;
	padding-top: 0;
	text-align: center;
}

.demo-block-07__title {
	margin: 0 0 12px;
	color: #fff;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.demo-block-07__title-accent {
	background: linear-gradient(180deg, #b8dff8 0%, #3188c7 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.demo-block-07__subtitle {
	margin: 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
	font-weight: 500;
	line-height: 1.5;
}

.demo-block-07__form-wrap .wpforms-container {
	margin: 0;
	max-width: none;
}

.demo-block-07__form-wrap .wpforms-title,
.demo-block-07__form-wrap .wpforms-description {
	display: none;
}

.demo-block-07__form-wrap .wpforms-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.demo-block-07__form-wrap .wpforms-field-container {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.demo-block-07__form-wrap .wpforms-field {
	padding: 0;
	clear: none;
}

.demo-block-07__form-wrap div.wpforms-container-full .wpforms-form .wpforms-field {
	padding: 4px;
}

.demo-block-07__form-wrap .wpforms-field-label,
.demo-block-07__form-wrap label.wpforms-field-label {
	display: block;
	margin: 0;
	padding: 9px;
	color: #fff !important;
	font-size: clamp(0.6875rem, 0.8vw, 0.8125rem);
	font-weight: 400 !important;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-transform: uppercase;
}

.demo-block-07__form-wrap .wpforms-field-label-inline {
	font-weight: 400 !important;
}

.demo-block-07__form-wrap .wpforms-required-label {
	color: #7ec8e8;
}

.demo-block-07__form-wrap input[type="text"],
.demo-block-07__form-wrap input[type="email"],
.demo-block-07__form-wrap input[type="tel"],
.demo-block-07__form-wrap input[type="number"],
.demo-block-07__form-wrap input[type="url"],
.demo-block-07__form-wrap select,
.demo-block-07__form-wrap textarea {
	width: 100% !important;
	max-width: none !important;
	height: 51px;
	min-height: 51px;
	padding: 10px 20px !important;
	box-sizing: border-box;
	border: 1px solid #7ec8e8 !important;
	border-radius: 999px !important;
	background: #0d0d0d !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	box-shadow: none !important;
	font-family: inherit;
	font-size: clamp(0.9375rem, 1vw, 1rem) !important;
	font-weight: 500;
	line-height: 1.4;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.demo-block-07__form-wrap .wpforms-field-phone-input-container input,
.demo-block-07__form-wrap .wpforms-field-phone .iti input {
	padding: 10px 20px 10px 72px !important;
}

.demo-block-07__form-wrap .wpforms-field-phone-input-container {
	position: relative;
	width: 100%;
}

.demo-block-07__form-wrap .wpforms-field-phone-country-container {
	position: absolute;
	top: 50%;
	left: 24px;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 6px;
	transform: translateY(-50%);
}

.demo-block-07__form-wrap .iti {
	display: block;
	width: 100%;
}

.demo-block-07__form-wrap .iti--allow-dropdown .iti__flag-container,
.demo-block-07__form-wrap .iti--separate-dial-code .iti__flag-container {
	left: 24px;
}

.demo-block-07__form-wrap .iti__selected-country-primary {
	padding-left: 0;
}

.demo-block-07__form-wrap textarea {
	border-radius: 20px !important;
	min-height: 120px;
	height: auto;
}

.demo-block-07__form-wrap input::placeholder,
.demo-block-07__form-wrap textarea::placeholder {
	color: rgba(255, 255, 255, 0.35);
}

.demo-block-07__form-wrap input:focus,
.demo-block-07__form-wrap select:focus,
.demo-block-07__form-wrap textarea:focus {
	outline: none;
	border-color: #b8dff8 !important;
	box-shadow: 0 0 0 3px rgba(126, 200, 232, 0.2) !important;
}

.demo-block-07__form-wrap select {
	appearance: none;
	padding-right: 40px !important;
	cursor: pointer;
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	opacity: 1;
}

.demo-block-07__form-wrap select option {
	color: #fff;
	background: #0d0d0d;
}

.demo-block-07__form-wrap select option[disabled],
.demo-block-07__form-wrap select option[value=""] {
	color: rgba(255, 255, 255, 0.55);
}

.demo-block-07__form-wrap select:has(option[value=""]:checked) {
	color: rgba(255, 255, 255, 0.55) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.55);
}

.demo-block-07__form-wrap .wpforms-field-select select {
	background-color: #0d0d0d !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	background-image: linear-gradient(45deg, transparent 50%, #7ec8e8 50%), linear-gradient(135deg, #7ec8e8 50%, transparent 50%);
	background-position: calc(100% - 24px) calc(50% - 2px), calc(100% - 18px) calc(50% - 2px);
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}

.demo-block-07__form-wrap .wpforms-field-checkbox ul,
.demo-block-07__form-wrap .wpforms-field-gdpr-checkbox ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.demo-block-07__form-wrap .wpforms-field-checkbox li,
.demo-block-07__form-wrap .wpforms-field-gdpr-checkbox li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.demo-block-07__form-wrap .wpforms-field-checkbox label,
.demo-block-07__form-wrap .wpforms-field-gdpr-checkbox label {
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(0.8125rem, 0.92vw, 0.9375rem);
	font-weight: 500;
	line-height: 1.45;
	text-transform: none;
	letter-spacing: 0;
}

.demo-block-07__form-wrap .wpforms-field-checkbox input[type="checkbox"],
.demo-block-07__form-wrap .wpforms-field-gdpr-checkbox input[type="checkbox"] {
	width: 18px !important;
	height: 18px;
	margin-top: 2px;
	accent-color: #7ec8e8;
}

.demo-block-07__form-wrap .wpforms-submit-container {
	display: block;
	width: 100%;
	margin: 8px 0 0;
	padding: 0;
}

.demo-block-07__form-wrap button[type="submit"],
.demo-block-07__form-wrap .wpforms-submit {
	display: block;
	width: 100% !important;
	max-width: none !important;
	padding: 20px 24px !important;
	border: none !important;
	border-radius: 16px !important;
	background: #7ec8e8 !important;
	color: #000 !important;
	box-shadow: none !important;
	font-family: "Montserrat Alternates", "Montserrat", system-ui, sans-serif;
	font-size: clamp(1rem, 1.2vw, 1.125rem) !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}

.demo-block-07__form-wrap button[type="submit"]:hover,
.demo-block-07__form-wrap button[type="submit"]:focus,
.demo-block-07__form-wrap .wpforms-submit:hover,
.demo-block-07__form-wrap .wpforms-submit:focus {
	background: #b8dff8 !important;
}

.demo-block-07__form-wrap button[type="submit"]:active,
.demo-block-07__form-wrap .wpforms-submit:active {
	transform: translateY(1px);
}

.demo-block-07__form-wrap .wpforms-error-container,
.demo-block-07__form-wrap .wpforms-error,
.demo-block-07__form-wrap label.wpforms-error {
	color: #ffb4b4;
	font-size: 0.8125rem;
}

.demo-block-07__form-wrap .wpforms-confirmation-container-full {
	margin-top: 20px;
	padding: 20px 22px;
	border: 1px solid #7ec8e8;
	border-radius: 16px;
	background: rgba(126, 200, 232, 0.12);
	color: #fff;
}

.demo-display-font,
.demo-hero__title,
.demo-hero__dates,
.demo-block-01__visual-title,
.demo-block-01__heading,
.demo-block-02__heading,
.demo-block-03__heading,
.demo-block-03__heading--right,
.demo-block-04__heading,
.demo-block-04__stat-value,
.demo-block-04__audience-title,
.demo-block-06__heading,
.demo-block-06__dates,
.demo-block-06__section-title,
.demo-block-06__contact-title,
.demo-block-07__title,
.demo-block-08__title,
.demo-block-09__title,
.demo-inline-form__title {
	font-family: "Montserrat Alternates", "Montserrat", system-ui, sans-serif;
	font-weight: 800;
}

@media (max-width: 1024px) {
	.demo-hero {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.demo-hero__visual {
		order: -1;
		min-height: 0;
		height: 30vh;
		height: 30dvh;
		height: 30svh;
	}

	.demo-hero__content {
		padding: 32px;
	}

	.demo-hero__body {
		position: static;
		top: auto;
		left: auto;
		right: auto;
		margin-top: 0;
		transform: none;
	}

	.demo-block-01 {
		grid-template-columns: 1fr;
	}

	.demo-block-02 {
		grid-template-columns: 1fr;
		row-gap: 16px;
		column-gap: 0;
		padding-top: 0;
	}

	.demo-block-02__tower-wrap {
		position: relative;
		left: auto;
		bottom: auto;
		transform: none;
		order: -1;
		width: min(280px, 70%);
		margin: 0 auto -16px;
		z-index: 1;
	}

	.demo-block-02__tower {
		height: 380px;
	}

	.demo-block-02__panel--left,
	.demo-block-02__panel--right {
		padding-left: 32px;
		padding-right: 32px;
		min-height: 360px;
	}

	.demo-block-02__panel-inner {
		min-height: 100%;
	}

	.demo-block-02__text,
	.demo-block-02__mission {
		margin-top: auto;
	}

	.demo-block-01__visual,
	.demo-block-01__visual-overlay,
	.demo-block-01__panel {
		min-height: 360px;
	}

	.demo-block-03 {
		grid-template-columns: 1fr;
		row-gap: 16px;
	}

	.demo-block-03__panel {
		padding: 32px;
		min-height: 360px;
	}

	.demo-block-03__panel--left {
		padding-right: 32px;
	}

	.demo-block-03__panel--left .demo-block-03__panel-inner {
		min-height: 100%;
	}

	.demo-block-03__tower-wrap {
		width: 52%;
		max-width: 320px;
	}

	.demo-block-03__tower {
		width: 100%;
		height: auto;
	}

	.demo-block-03__inset {
		max-width: 100%;
		margin-top: auto;
	}

	.demo-block-03__header {
		flex-direction: column;
		gap: 12px;
	}

	.demo-block-03__subtitle {
		max-width: none;
		text-align: left;
	}

	.demo-block-04 {
		grid-template-columns: 1fr;
		row-gap: 16px;
	}

	.demo-block-04__panel {
		min-height: auto;
		padding: 32px;
	}

	.demo-block-04__days,
	.demo-block-04__stats {
		grid-template-columns: 1fr;
	}

	.demo-block-04__days {
		margin-top: 0;
	}

	.demo-block-04__audience {
		margin-top: 0;
	}

	.demo-block-05__media {
		grid-template-columns: 1fr;
	}

	.demo-block-05__aside {
		display: none;
	}

	.demo-block-05__main {
		min-height: 360px;
	}

	.demo-block-06 {
		grid-template-columns: 1fr;
		row-gap: 16px;
	}

	.demo-block-06__panel {
		min-height: auto;
		padding: 32px;
	}

	.demo-block-06__top,
	.demo-block-06__contacts {
		grid-template-columns: 1fr;
	}

	.demo-block-06__footer {
		flex-direction: column;
		align-items: flex-start;
	}

	.demo-block-06__meta {
		text-align: left;
	}
}

@media (max-width: 640px) {
	.demo-block {
		padding: 16px 0;
	}

	.demo-container {
		padding: 0 16px;
	}

	.demo-block-01 {
		gap: 16px;
	}

	.demo-block-02 {
		row-gap: 16px;
	}

	.demo-block-02__tower-wrap {
		width: min(220px, 65%);
		margin: 0 auto -16px;
	}

	.demo-block-02__panel {
		padding: 32px 24px;
		min-height: 320px;
	}

	.demo-block-02__tower {
		height: 300px;
	}

	.demo-block-02__text,
	.demo-block-02__mission {
		max-width: 72%;
	}

	.demo-block-03__panel {
		padding: 32px 24px;
		min-height: 320px;
	}

	.demo-block-03__tower-wrap {
		width: 48%;
		max-width: 240px;
	}

	.demo-block-04__panel {
		padding: 32px 24px;
	}

	.demo-block-05__main {
		min-height: 280px;
	}

	.demo-block-06__panel {
		padding: 32px 24px;
	}

	.demo-block-01__visual,
	.demo-block-01__visual-overlay,
	.demo-block-01__panel {
		min-height: 300px;
	}

	.demo-block-01__visual-overlay {
		padding: 24px;
	}

	.demo-block-01__panel {
		padding: 32px 24px;
	}

	.demo-block-01__heading {
		margin-bottom: 24px;
	}

	.demo-block-01__list {
		gap: 14px;
	}

	.demo-hero__content {
		padding: 32px 24px 40px;
		gap: 24px;
	}

	.demo-hero__meta {
		margin-top: 4px;
	}

	.demo-block-07-shell {
		padding: 40px 0 48px;
	}

	.demo-block-07-shell .demo-container {
		padding-top: 32px;
	}

	.demo-block-07__header {
		margin-bottom: 24px;
	}
}
