

/* Start:/local/templates/alpha_energy/template_styles.css?1791378840179436*/
@font-face {
	font-family: "Manrope";
	src: url("/local/templates/alpha_energy/./assets/fonts/manrope-300.ttf") format("truetype");
	font-style: normal;
	font-weight: 300;
	font-display: swap;
}

@font-face {
	font-family: "Manrope";
	src: url("/local/templates/alpha_energy/./assets/fonts/manrope-400.ttf") format("truetype");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Manrope";
	src: url("/local/templates/alpha_energy/./assets/fonts/manrope-500.ttf") format("truetype");
	font-style: normal;
	font-weight: 500;
	font-display: swap;
}

@font-face {
	font-family: "Manrope";
	src: url("/local/templates/alpha_energy/./assets/fonts/manrope-600.ttf") format("truetype");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: "Manrope";
	src: url("/local/templates/alpha_energy/./assets/fonts/manrope-700.ttf") format("truetype");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

:root {
	--color-navy: #1d4383;
	--color-blue: #2287c8;
	--color-cyan: #00a9cf;
	--color-light: #cbecfb;
	--color-ice: #f2fbff;
	--color-text: #090909;
	--color-muted: #65717c;
	--font-primary: "Manrope", Arial, sans-serif;
	--font-body: var(--font-primary);
	--font-heading: var(--font-primary);
	--container: 1584px;
	--gutter: clamp(20px, 4vw, 72px);
}

/* About page: Figma layout */
.about-page {
	--about-blue: #2287c8;
	--about-dark: #1d4383;
	--about-light: #cbeafb;
	background: #ffffff;
	color: #0b1d3c;
	overflow: hidden;
}

.about-page .container {
	width: min(100% - 56px, 1584px);
}

.about-page__breadcrumbs {
	padding: 56px 0 0;
	color: #90d6ea;
	font-size: 18px;
	font-weight: 500;
}

.about-hero {
	padding: 78px 0 72px;
}

.about-hero h1 {
	margin: 0 0 58px;
	color: var(--about-dark);
	font-size: clamp(44px, 4.5vw, 70px);
	font-weight: 600;
	line-height: 1.05;
}

.about-hero__rule {
	height: 1px;
	margin-bottom: 56px;
	background: rgba(144, 214, 234, 0.72);
}

.about-hero__lead {
	max-width: 1420px;
	padding-bottom: 56px;
	border-bottom: 1px solid rgba(144, 214, 234, 0.72);
	color: var(--about-blue);
	font-size: clamp(42px, 4.5vw, 70px);
	font-weight: 600;
	line-height: 1.05;
}

.about-hero__quote {
	width: min(660px, 100%);
	margin: 0 0 0 auto;
	padding: 84px 0 0 132px;
	border-left: 1px dashed rgba(34, 135, 200, 0.48);
	color: var(--about-dark);
	font-size: clamp(24px, 2vw, 32px);
	font-weight: 500;
	line-height: 1.14;
}

.about-page .about-copy--mobile {
	display: none;
}

.about-main-metrics {
	padding: 0 0 90px;
}

.about-main-metrics__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	background: var(--about-light);
	overflow: hidden;
}

.about-main-metric {
	position: relative;
	min-height: 356px;
	padding: clamp(46px, 5vw, 78px) clamp(52px, 6vw, 112px);
	background: var(--about-light);
	color: var(--about-blue);
}

.about-main-metric--image {
	background: #102c5a;
	color: #ffffff;
}

.about-main-metric--1,
.about-main-metric--4 {
	clip-path: polygon(0 0, 86% 0, 100% 100%, 0 100%);
}

.about-main-metric--2,
.about-main-metric--3 {
	display: flex;
	align-items: center;
	justify-content: center;
}

.about-main-metric img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.about-main-metric::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(4, 38, 79, 0.26);
	z-index: 1;
}

.about-main-metric:not(.about-main-metric--image)::after {
	display: none;
}

.about-main-metric > div {
	position: relative;
	z-index: 2;
}

.about-main-metric strong {
	display: block;
	font-size: clamp(78px, 11vw, 170px);
	font-weight: 600;
	line-height: 0.92;
}

.about-main-metric span {
	display: block;
	max-width: 380px;
	margin-top: 14px;
	font-size: clamp(24px, 2.3vw, 38px);
	font-weight: 500;
	line-height: 1.05;
}

.about-missions {
	padding: 84px 0 138px;
	background: #ffffff;
}

.about-missions__grid {
	display: grid;
	grid-template-columns: 1.25fr repeat(3, 1fr);
	min-height: 470px;
	border-right: 1px solid rgba(144, 214, 234, 0.48);
}

.about-missions__intro,
.about-value-card {
	padding: 0 clamp(34px, 4vw, 70px);
	border-left: 1px solid rgba(144, 214, 234, 0.48);
}

.about-missions__intro h2 {
	max-width: 360px;
	margin: 0 0 44px;
	color: var(--about-blue);
	font-size: clamp(46px, 4.5vw, 70px);
	font-weight: 500;
	line-height: 1.02;
}

.about-missions__intro div,
.about-value-card div {
	color: var(--about-dark);
	font-size: clamp(18px, 1.42vw, 25px);
	font-weight: 600;
	line-height: 1.08;
}

.about-value-card {
	background: #ffffff;
}

.about-value-card span {
	display: block;
	width: 72px;
	height: 72px;
	margin-bottom: 40px;
	border: 3px solid var(--about-blue);
	border-radius: 50%;
}

.about-value-card h3 {
	max-width: 330px;
	margin: 0 0 30px;
	color: var(--about-dark);
	font-size: clamp(28px, 2.8vw, 40px);
	font-weight: 700;
	line-height: 1.02;
	text-transform: uppercase;
}

.about-steps {
	padding: 120px 0 150px;
	border-top: 6px solid var(--about-blue);
	background: var(--about-light);
}

.about-steps h2 {
	width: min(390px, 100%);
	margin: 0 0 90px;
	color: var(--about-blue);
	font-size: clamp(44px, 4.3vw, 70px);
	font-weight: 500;
	line-height: 1.05;
}

.about-steps__list {
	width: min(1120px, 100%);
	margin: 0 auto;
	display: grid;
	gap: 18px;
}

.about-step-card {
	position: relative;
	top: auto;
	display: grid;
	grid-template-columns: 210px minmax(0, 1fr) minmax(260px, 420px);
	gap: 36px;
	align-items: center;
	min-height: 190px;
	margin: 0;
	padding: 0 0 0 34px;
	background: #ffffff;
	box-shadow: none;
	transform: none;
	transition: background 0.25s ease;
}

.about-step-card.is-fill-active {
	background: var(--about-dark);
}

.about-step-card.is-active {
	transform: none;
}

.about-step-card__number {
	padding-right: 30px;
	border-right: 1px dashed rgba(34, 135, 200, 0.45);
	color: transparent;
	background: linear-gradient(180deg, #2287c8 0%, rgba(34, 135, 200, 0.08) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	font-size: clamp(84px, 9vw, 150px);
	font-weight: 300;
	line-height: 0.9;
}

.about-step-card h3 {
	margin: 0 0 12px;
	color: var(--about-blue);
	font-size: clamp(24px, 2.2vw, 34px);
	font-weight: 700;
	line-height: 1.02;
	text-transform: uppercase;
}

.about-step-card__body > div {
	margin: 0;
	color: var(--about-dark);
	font-size: clamp(16px, 1.35vw, 22px);
	font-weight: 600;
	line-height: 1.08;
}

.about-step-card.is-fill-active h3,
.about-step-card.is-fill-active .about-step-card__body > div {
	color: #ffffff;
}

.about-step-card__image {
	width: 100%;
	height: 190px;
	min-height: 0;
	object-fit: cover;
	background: none;
}

.about-project-numbers {
	padding: 120px 0 96px;
	background:
		linear-gradient(0deg, rgba(14, 40, 84, 0.76), rgba(14, 40, 84, 0.76)),
		url("/local/templates/alpha_energy/assets/images/about/project-numbers-bg.png") center / cover no-repeat;
	color: #ffffff;
}

.about-project-numbers h2 {
	width: min(620px, 100%);
	margin: 0 0 66px;
	color: #ffffff;
	font-size: clamp(42px, 4.4vw, 70px);
	font-weight: 600;
	line-height: 1.05;
}

.about-project-numbers__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	background: #ffffff;
	color: var(--about-blue);
}

.about-project-numbers__grid article {
	min-height: 216px;
	padding: 56px 44px;
	border-right: 1px dashed rgba(34, 135, 200, 0.42);
}

.about-project-numbers__grid article:last-child {
	border-right: 0;
}

.about-project-numbers__grid strong {
	display: block;
	font-size: clamp(36px, 3.2vw, 54px);
	font-weight: 600;
	line-height: 1;
}

.about-project-numbers__grid span {
	display: block;
	max-width: 220px;
	margin-top: 12px;
	color: var(--about-dark);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.08;
}

.about-areas {
	min-height: 930px;
	padding: 74px 0;
	background:
		linear-gradient(0deg, rgba(144, 214, 234, 0.18), rgba(144, 214, 234, 0.18)),
		url("/local/templates/alpha_energy/assets/images/about/areas-bg.png") center / cover no-repeat;
}

.about-areas__inner {
	position: relative;
	min-height: 790px;
}

.about-areas h2 {
	position: absolute;
	left: 0;
	top: 0;
	width: min(1160px, 100%);
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(86px, 13vw, 250px);
	font-weight: 500;
	line-height: 0.75;
}

.about-areas__grid {
	position: absolute;
	inset: 160px 0 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(240px, 420px));
	align-content: space-between;
	justify-content: space-between;
	gap: 70px 120px;
	margin: 0;
}

.about-area-card {
	min-height: 116px;
	padding: 28px 24px;
	background: linear-gradient(90deg, rgba(88, 119, 156, 0.92), rgba(88, 119, 156, 0.55));
	backdrop-filter: blur(12px);
}

.about-area-card h3 {
	margin: 0;
	color: #ffffff;
	font-size: clamp(22px, 2.1vw, 34px);
	font-weight: 700;
	line-height: 1.02;
	text-transform: uppercase;
}

.about-area-card div {
	display: none;
}

.about-licenses {
	padding: 150px 0 160px;
	background: #ffffff;
}

.about-licenses__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-left: 1px solid rgba(144, 214, 234, 0.42);
}

.about-licenses__intro,
.about-license-card {
	min-height: 430px;
	padding: 0 clamp(30px, 4vw, 68px);
	border-right: 1px solid rgba(144, 214, 234, 0.42);
}

.about-licenses__intro h2 {
	margin: 0 0 36px;
	color: var(--about-blue);
	font-size: clamp(42px, 4.2vw, 70px);
	font-weight: 500;
	line-height: 1.05;
}

.about-licenses__intro div {
	color: var(--about-dark);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.08;
}

.about-license-card {
	display: block;
	background: #ffffff;
}

.about-license-card img {
	width: 96px;
	height: 96px;
	margin-bottom: 58px;
	object-fit: contain;
}

.about-license-card h3 {
	margin: 0 0 28px;
	color: var(--about-blue);
	font-size: clamp(22px, 2.1vw, 34px);
	font-weight: 700;
	line-height: 1.08;
}

.about-license-card div {
	color: var(--about-dark);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.08;
}

.about-contract {
	min-height: 900px;
	padding: 80px 0;
	background:
		linear-gradient(0deg, rgba(116, 191, 229, 0.18), rgba(116, 191, 229, 0.18)),
		url("/local/templates/alpha_energy/assets/images/about/areas-bg.png") center / cover no-repeat;
}

.about-contract__inner {
	position: relative;
	min-height: 740px;
}

.about-contract h2 {
	position: absolute;
	left: 0;
	top: 0;
	width: min(1180px, 100%);
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(90px, 13vw, 245px);
	font-weight: 500;
	line-height: 0.8;
}

.about-contract__grid {
	position: absolute;
	inset: 170px 0 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(240px, 420px));
	align-content: space-between;
	justify-content: space-between;
	gap: 90px 120px;
}

.about-contract article {
	padding: 28px 24px;
	background: linear-gradient(90deg, rgba(88, 119, 156, 0.92), rgba(88, 119, 156, 0.55));
	color: #ffffff;
}

.about-contract h3 {
	margin: 0;
	color: #ffffff;
	font-size: clamp(22px, 2.1vw, 34px);
	font-weight: 700;
	line-height: 1.02;
	text-transform: uppercase;
}

.about-contract article div {
	display: none;
}

.about-partners {
	padding: 120px 0 0;
	background:
		linear-gradient(0deg, rgba(4, 19, 35, 0.58), rgba(4, 19, 35, 0.58)),
		url("/local/templates/alpha_energy/assets/images/about/partners-bg.png") center / cover no-repeat;
}

.about-partners h2 {
	width: min(760px, 100%);
	margin: 0 0 90px;
	color: #ffffff;
	font-size: clamp(42px, 4.2vw, 70px);
	font-weight: 500;
	line-height: 1.05;
}

.about-partners__strip {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(260px, 1fr);
	overflow-x: auto;
	background: #ffffff;
}

.about-partner-logo {
	display: flex;
	min-height: 150px;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: #ffffff;
	border-right: 1px dashed rgba(34, 135, 200, 0.38);
}

.about-partner-logo--text span {
	color: var(--about-dark);
	font-size: 20px;
	font-weight: 700;
}

.about-team {
	padding: 130px 0 80px;
	background: #ffffff;
}

.about-team h2 {
	margin: 0 0 100px;
	color: var(--about-blue);
	font-size: clamp(42px, 4.2vw, 70px);
	font-weight: 500;
	line-height: 1.05;
}

.about-team__list {
	display: grid;
	gap: 72px;
}

.about-person-card {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.76fr);
	gap: clamp(60px, 10vw, 180px);
	align-items: start;
	min-height: 440px;
	padding: 0;
	background: #ffffff;
}

.about-person-card__text {
	max-width: 720px;
	padding-top: 150px;
}

.about-person-card__text > div {
	margin-bottom: 34px;
	color: #090909;
	font-size: clamp(18px, 1.35vw, 25px);
	font-weight: 400;
	line-height: 1.12;
}

.about-person-card h3 {
	margin: 0;
	color: #090909;
	font-size: clamp(18px, 1.45vw, 25px);
	font-weight: 700;
	line-height: 1.2;
}

.about-person-card img,
.about-person-card__placeholder {
	width: 100%;
	min-height: 520px;
	background: #d9d9d9;
	object-fit: cover;
}

@media (max-width: 1180px) {
	.about-page .container {
		width: min(100% - 40px, 1000px);
	}

	.about-hero__quote {
		margin-left: 0;
		padding-left: 40px;
	}

	.about-main-metrics__grid,
	.about-missions__grid,
	.about-licenses__grid,
	.about-person-card {
		grid-template-columns: 1fr;
	}

	.about-missions__grid,
	.about-licenses__grid {
		gap: 32px;
		border: 0;
	}

	.about-missions__intro,
	.about-value-card,
	.about-licenses__intro,
	.about-license-card {
		min-height: auto;
		padding: 0;
		border: 0;
	}

	.about-step-card {
		grid-template-columns: 150px minmax(0, 1fr);
		padding: 24px;
	}

	.about-step-card__image {
		grid-column: 1 / -1;
		height: 260px;
	}

	.about-project-numbers__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.about-areas__grid,
	.about-contract__grid {
		position: relative;
		inset: auto;
		padding-top: 220px;
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.about-person-card__text {
		padding-top: 0;
	}
}

@media (max-width: 1180px) {
	.about-page .container {
		width: min(100% - 28px, 720px);
	}

	.about-page__breadcrumbs {
		padding-top: 28px;
		font-size: 14px;
	}

	.about-hero {
		padding: 42px 0 56px;
	}

	.about-hero h1 {
		margin-bottom: 30px;
	}

	.about-hero__lead {
		padding-bottom: 32px;
	}

	.about-hero__quote {
		padding: 34px 0 0 20px;
	}

	.about-main-metric {
		min-height: 240px;
		padding: 34px 28px;
		clip-path: none;
	}

	.about-main-metric strong {
		font-size: 70px;
	}

	.about-missions,
	.about-steps,
	.about-licenses,
	.about-team {
		padding-block: 70px;
	}

	.about-step-card {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.about-step-card__number {
		border-right: 0;
		padding-right: 0;
		font-size: 80px;
	}

	.about-project-numbers__grid {
		grid-template-columns: 1fr;
	}

	.about-project-numbers__grid article {
		min-height: auto;
		padding: 34px 28px;
		border-right: 0;
		border-bottom: 1px dashed rgba(34, 135, 200, 0.42);
	}

	.about-areas,
	.about-contract {
		min-height: auto;
		padding: 62px 0;
	}

	.about-areas h2,
	.about-contract h2 {
		position: relative;
		font-size: 64px;
	}

	.about-areas__inner,
	.about-contract__inner {
		min-height: auto;
	}

	.about-areas__grid,
	.about-contract__grid {
		padding-top: 40px;
	}

	.about-partners {
		padding-top: 70px;
	}

	.about-partners__strip {
		grid-auto-columns: minmax(190px, 1fr);
	}

	.about-person-card {
		gap: 28px;
		min-height: auto;
	}

	.about-person-card img,
	.about-person-card__placeholder {
		min-height: 320px;
	}
}

/* Must remain last: infoblock values replace the legacy static copy. */
.story-section__content > h2:not(.home-panel-dynamic-title),
.team-section__content > h2:not(.home-panel-dynamic-title),
.metrics-section > .container > h2:not(.home-panel-dynamic-title),
.story-section__stat > strong:not(.home-panel-dynamic-value),
.story-section__stat > p:not(.home-panel-dynamic-text),
.team-section__stat > strong:not(.home-panel-dynamic-value),
.team-section__stat > p:not(.home-panel-dynamic-text),
.metrics-section__grid:not(.metrics-section__grid--dynamic) {
	display: none !important;
}

/* Dynamic home panels: the legacy text stays in PHP only as an emergency fallback. */
.story-section__content > h2:not(.home-panel-dynamic-title),
.team-section__content > h2:not(.home-panel-dynamic-title),
.metrics-section > .container > h2:not(.home-panel-dynamic-title),
.story-section__stat > strong:not(.home-panel-dynamic-value),
.story-section__stat > p:not(.home-panel-dynamic-text),
.team-section__stat > strong:not(.home-panel-dynamic-value),
.team-section__stat > p:not(.home-panel-dynamic-text),
.metrics-section__grid:not(.metrics-section__grid--dynamic) {
	display: none !important;
}

/* About page: desktop fidelity for the 1920px Figma frame. */
.is-inner.is-about-page .site-main {
	width: auto;
	max-width: none;
	margin-inline: 0;
	padding-top: 80px;
	padding-bottom: 0;
}

@media (min-width: 1181px) {
	.about-page {
		--about-content: 1584px;
		--about-side: max(28px, calc((100vw - var(--about-content)) / 2));
	}

	.about-page .container {
		width: min(calc(100% - 56px), var(--about-content));
	}

	.about-page__breadcrumbs {
		padding-top: 67px;
		font-size: 22px;
		line-height: .96;
		letter-spacing: -.01em;
	}

	.about-hero {
		padding-top: 80px;
	}

	.about-hero h1 {
		font-size: 70px;
		line-height: 1.05;
	}

	.about-hero__lead {
		max-width: none;
		font-size: 70px;
		line-height: 1.05;
	}

	.about-hero__quote {
		font-size: 32px;
		line-height: 1.15;
		letter-spacing: -.01em;
	}

	.about-page .about-missions__grid,
	.about-page .about-licenses__grid {
		width: min(calc(100% - var(--about-side)), 1752px);
		max-width: none;
		margin-right: 0;
		margin-left: var(--about-side);
		grid-template-columns: 667px;
		grid-auto-flow: column;
		grid-auto-columns: 515px;
		overflow-x: auto;
		border: 0;
		scroll-snap-type: x proximity;
	}

	.about-missions__grid {
		min-height: 611px;
	}

	.about-missions__intro,
	.about-licenses__intro {
		padding: 0 120px 0 0;
		border: 0;
	}

	.about-value-card {
		min-height: 611px;
		padding: 86px 42px;
		border-right: 0;
		border-left: 1px solid rgba(144, 214, 234, .48);
		scroll-snap-align: start;
	}

	.about-value-card h3 {
		font-size: 40px;
		line-height: 1.1;
	}

	.about-missions__intro div,
	.about-value-card div {
		font-size: 24.5px;
		line-height: 1.12;
	}

	.about-steps {
		min-height: 2530px;
		padding: 138px 0 120px;
		border-top: 0;
	}

	.about-steps h2 {
		width: 525px;
		margin-bottom: 100px;
		font-size: 70px;
		line-height: 1.05;
	}

	.about-steps__list {
		width: 1316px;
		max-width: 100%;
		gap: 26px;
	}

	.about-step-card {
		grid-template-columns: 210px minmax(0, 1fr) 420px;
		gap: 40px;
		min-height: 300px;
		padding: 0 8px 0 47px;
	}

	.about-step-card__number {
		font-size: 170px;
		line-height: 1;
		letter-spacing: -.02em;
	}

	.about-step-card h3 {
		font-size: 40px;
		line-height: 1.1;
		letter-spacing: -.01em;
	}

	.about-step-card__body > div {
		font-size: 24.5px;
		line-height: 1.12;
		letter-spacing: -.01em;
	}

	.about-step-card__image {
		height: 285px;
	}

	.about-project-numbers {
		min-height: 922px;
		padding: 160px 0 102px;
	}

	.about-project-numbers h2 {
		width: 620px;
		margin-bottom: 154px;
		font-size: 70px;
		line-height: 1.05;
	}

	.about-project-numbers__grid {
		height: 359px;
	}

	.about-project-numbers__grid article {
		min-height: 359px;
		padding: 108px 54px 109px 67px;
	}

	.about-project-numbers__grid strong {
		font-size: 70px;
		line-height: 1.05;
	}

	.about-project-numbers__grid span {
		max-width: 280px;
		margin-top: 18px;
		font-size: 24.5px;
		line-height: 1.12;
	}

	.about-areas {
		min-height: 1241px;
		padding: 0;
	}

	.about-areas__inner {
		min-height: 1241px;
	}

	.about-areas h2 {
		top: 1px;
		width: 1584px;
		font-size: 250px;
		line-height: 188px;
		letter-spacing: -.02em;
	}

	.about-areas__grid {
		inset: 306px 0 auto;
		grid-template-columns: 515px 515px;
		grid-auto-rows: minmax(160px, auto);
		gap: 292px 0;
	}

	.about-area-card {
		min-height: 160px;
		padding: 36px 20px;
	}

	.about-area-card h3 {
		font-size: 40px;
		line-height: 1.1;
	}

	.about-licenses {
		padding: 150px 0 160px;
	}

	.about-licenses__grid {
		min-height: 802px;
	}

	.about-license-card {
		min-height: 802px;
		padding: 86px 42px;
		border-right: 0;
		border-left: 1px solid rgba(144, 214, 234, .42);
		scroll-snap-align: start;
	}

	.about-license-card img {
		width: auto;
		height: 170px;
		max-width: 173px;
		margin-bottom: 32px;
	}

	.about-license-card h3 {
		font-size: 32px;
		line-height: 36px;
		letter-spacing: -.02em;
	}

	.about-license-card div {
		font-size: 24.5px;
		line-height: 1.12;
		letter-spacing: -.01em;
	}

	.about-partners {
		min-height: 897px;
		padding-top: 181px;
	}

	.about-partners h2 {
		width: 982px;
		margin-bottom: 139px;
		font-size: 70px;
		line-height: 1.05;
	}

	.about-partners__strip {
		grid-auto-columns: 396px;
		min-height: 229px;
	}

	.about-partner-logo {
		min-height: 229px;
	}

	.about-team > .container {
		width: min(calc(100% - var(--about-side)), 1752px);
		max-width: none;
		margin-right: 0;
		margin-left: var(--about-side);
	}

	.about-team h2 {
		font-size: 70px;
		line-height: 1.05;
	}

	.about-person-card {
		grid-template-columns: minmax(0, 987px) 717px;
		gap: 48px;
		min-height: 737px;
	}

	.about-person-card__text {
		max-width: 811px;
		padding-top: 280px;
	}

	.about-person-card__text > div,
	.about-person-card h3 {
		font-size: 25.5px;
		line-height: 1.2;
		letter-spacing: -.01em;
	}

	.about-person-card img,
	.about-person-card__placeholder {
		min-height: 737px;
	}
}

@media (max-width: 1180px) {
	.is-inner.is-about-page .site-main {
		padding-top: 68px;
	}
}

/* Home news preview */
.home-news-section {
	padding: clamp(70px, 8vw, 96px) 0 clamp(86px, 10vw, 132px);
	background: #ffffff;
	color: #090909;
}

.home-news-section__head {
	margin-bottom: 18px;
}

.home-news-section h2 {
	margin: 0;
	color: #1d4383;
	font-size: clamp(48px, 4.4vw, 70px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0;
}

.home-news-filter {
	display: flex;
	gap: 20px;
	align-items: center;
	overflow-x: auto;
	padding-bottom: 6px;
	margin-top: clamp(34px, 4vw, 58px);
}

.home-news-filter button {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	padding: 8px 19px;
	border: 1px solid #2287c8;
	border-radius: 30px;
	background: #fff;
	color: #2287c8;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.12;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

.home-news-filter button:hover,
.home-news-filter button.is-active {
	border-color: #00a9cf;
	background: #00a9cf;
	color: #ffffff;
}

.home-news-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 2.04fr) minmax(360px, 1fr);
	grid-template-rows: 1fr auto;
	gap: 20px;
	align-items: stretch;
}

.home-news-card::before,
.home-news-card::after {
	content: "";
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 0;
	width: 1px;
	background: linear-gradient(
		to bottom,
		rgba(34, 135, 200, 0),
		rgba(34, 135, 200, .22) 15%,
		rgba(34, 135, 200, .22) 85%,
		rgba(34, 135, 200, 0)
	);
	pointer-events: none;
}

.home-news-card::before {
	left: 0;
}

.home-news-card::after {
	right: 0;
}

.home-news-card {
	position: relative;
	display: flex;
	min-height: 236px;
	flex-direction: column;
	padding: 18px 31px 25px;
	color: #090909;
	text-decoration: none;
	transition: transform 0.2s ease, color 0.2s ease;
}

.home-news-card:hover {
	color: #005d92;
	transform: translateY(-3px);
}

.home-news-card--1 {
	min-height: 738px;
	grid-row: span 2;
}

.home-news-card--2 {
	min-height: 482px;
}

.home-news-card--3 {
	justify-content: flex-end;
}

.home-news-card--1.is-last-visible {
	grid-column: 1 / -1;
}

.home-news-card__meta {
	display: flex;
	gap: 18px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
	color: #2287c8;
}

.home-news-card__meta time {
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
}

.home-news-card__meta span {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	padding: 8px 19px;
	border: 1px solid #2287c8;
	border-radius: 30px;
	color: #2287c8;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.12;
	text-transform: uppercase;
	white-space: nowrap;
}

.home-news-card__image {
	display: block;
	width: 100%;
	height: 264px;
	margin-bottom: 24px;
	overflow: hidden;
	background: #cbeafb;
}

.home-news-card--1 .home-news-card__image {
	height: 514px;
}

.home-news-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.home-news-card:hover .home-news-card__image img {
	transform: scale(1.04);
}

.home-news-card__title {
	display: block;
	color: currentColor;
	font-size: 25.5px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: uppercase;
}

.home-news-card__more {
	display: inline-flex;
	width: max-content;
	margin-top: 24px;
	color: #005d92;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
}

.home-news-all {
	display: inline-flex;
	min-width: min(100%, 399px);
	min-height: 58px;
	align-items: center;
	justify-content: space-between;
	gap: 34px;
	margin-top: 58px;
	padding: 11px 30px;
	background: #cbeafb;
	color: #1d4383;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.28;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease;
}

.home-news-all:hover {
	background: var(--color-navy);
	color: #fff;
}

.home-news-empty {
	margin: 32px 0 0;
	color: #757575;
	font-size: 18px;
}

@media (max-width: 1180px) {
	.home-news-grid {
		grid-template-columns: 1fr;
	}

	.home-news-card--1 {
		min-height: 620px;
		grid-row: auto;
	}

}

@media (max-width: 1180px) {
	.home-news-section {
		padding: 72px 0 86px;
	}

	.home-news-section h2 {
		font-size: clamp(48px, 16vw, 78px);
	}

	.home-news-filter {
		gap: 10px;
	}

	.home-news-filter button,
	.home-news-card__meta span {
		min-height: 34px;
		padding: 7px 14px;
		font-size: 14px;
	}

	.home-news-card,
	.home-news-card--1,
	.home-news-card--2 {
		min-height: auto;
		padding: 18px 0 24px;
		border-right: 0;
		border-bottom: 1px dashed #90d6ea;
	}

	.home-news-card.is-last-visible {
		border-bottom-color: transparent;
	}

	.home-news-card__meta {
		gap: 12px;
	}

	.home-news-card__meta time {
		font-size: 16px;
	}

	.home-news-card__image,
	.home-news-card--1 .home-news-card__image {
		height: 260px;
	}

	.home-news-card__title {
		font-size: 20px;
	}

	.home-news-all {
		width: 100%;
		font-size: 22px;
	}
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: #fff;
	color: var(--color-text);
	font-family: var(--font-primary);
	font-size: 16px;
	line-height: 1.4;
}

body.is-menu-open {
	overflow: hidden;
}

body.is-nav-dropdown-open::before {
	position: fixed;
	z-index: 90;
	inset: 80px 0 0;
	background: rgba(5, 24, 49, .46);
	content: "";
	pointer-events: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input,
textarea,
select {
	font: inherit;
}

.header-detail,
.site-header__contact,
.home-project-card__text,
.news-detail__content p {
	font-family: var(--font-body);
}

.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.container {
	width: min(var(--container), calc(100% - var(--gutter) * 2));
	margin-inline: auto;
}

.eyebrow {
	margin: 0 0 18px;
	color: var(--color-cyan);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.eyebrow--light {
	color: #c7f2ff;
}

.site-header {
	position: fixed;
	z-index: 100;
	top: 0;
	right: 0;
	left: 0;
	height: 80px;
	pointer-events: none;
}

.site-header__top {
	position: relative;
	height: 80px;
	border-bottom: 1px solid rgba(34, 135, 200, .16);
	background: rgba(255, 255, 255, .84);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	pointer-events: auto;
	transition: background-color .25s ease, box-shadow .25s ease;
}

.site-header__top-inner,
.site-header__nav-inner {
	display: flex;
	width: min(var(--container), calc(100% - var(--gutter) * 2));
	height: 100%;
	margin-inline: auto;
	align-items: center;
}

.site-header__top-inner {
	justify-content: space-between;
	gap: 24px;
}

.site-header__nav-shell {
	position: absolute;
	z-index: 2;
	top: 0;
	right: clamp(120px, 12vw, 190px);
	left: clamp(180px, 16vw, 260px);
	height: 80px;
	background: transparent;
	pointer-events: none;
}

.site-header.is-scrolled .site-header__top {
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 10px 28px rgba(12, 45, 89, .08);
}

.site-header.is-scrolled .site-header__nav-shell {
	transform: none;
}

.site-logo {
	position: relative;
	z-index: 5;
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	width: 126px;
	max-width: 20vw;
	cursor: pointer;
	pointer-events: auto;
}

.site-logo img {
	display: block;
	width: 100%;
	height: auto;
}

.site-header__details {
	position: relative;
	z-index: 3;
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
	margin-left: auto;
	pointer-events: auto;
}

.header-detail {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	gap: 0;
	color: var(--color-blue);
	font-size: 0;
	font-weight: 600;
	line-height: 1.25;
}

.header-detail:nth-child(1) {
	order: 2;
}

.header-detail:nth-child(2) {
	order: 1;
}

.header-detail:last-child {
	display: none;
}

.header-detail::before {
	display: block;
	flex-shrink: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	content: "";
	transition: opacity .2s ease, transform .2s ease;
}

.header-detail:nth-child(1)::before {
	width: 30px;
	height: 30px;
	background-image: url("/local/templates/alpha_energy/assets/images/header-mail.svg");
}

.header-detail:nth-child(2)::before {
	width: 30px;
	height: 30px;
	background-image: url("/local/templates/alpha_energy/assets/images/header-phone.svg");
}

.header-detail svg {
	display: none;
}

.header-detail:hover::before {
	opacity: .78;
	transform: translateY(-1px);
}

.header-detail span {
	display: none;
}

.header-detail small {
	color: #8bd4f4;
	font-size: 13px;
	font-weight: 500;
}

.site-nav {
	width: 100%;
	pointer-events: none;
}

.site-nav__list {
	display: flex;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: center;
	gap: clamp(48px, 5.36vw, 103px);
	list-style: none;
}

.site-nav__link {
	position: relative;
	display: inline-flex;
	min-height: 28px;
	padding: 0;
	align-items: flex-start;
	gap: 10px;
	color: var(--color-blue);
	font-family: var(--font-primary);
	font-size: 22px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 24px;
	pointer-events: auto;
	transition: color .2s ease;
}

body.is-nav-dropdown-open .site-nav__link {
	color: #90d6ea;
}

body.is-nav-dropdown-open .site-nav__item.is-dropdown-open > .site-nav__link {
	color: var(--color-blue);
}

.site-nav__link::after {
	position: absolute;
	right: 0;
	bottom: 4px;
	left: 0;
	height: 2px;
	background: var(--color-cyan);
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .25s ease;
}

.site-nav__item.has-dropdown .site-nav__link::after {
	right: 40px;
}

.site-nav__link:hover::after,
.site-nav__item.is-active .site-nav__link::after {
	transform: scaleX(1);
	transform-origin: left;
}

.site-nav__item {
	position: relative;
}

.site-nav__chevron {
	position: relative;
	display: block;
	flex: 0 0 30px;
	width: 30px;
	height: 28px;
	background: url("/local/templates/alpha_energy/assets/images/chevron-down-blue.png") center / 30px 28px no-repeat;
	border: 0;
	transform: none;
	transition: background-image .2s ease, transform .2s ease;
}

.site-nav__chevron::before,
.site-nav__chevron::after {
	display: none;
}

.site-nav__item.has-dropdown.is-dropdown-open .site-nav__chevron,
.site-nav__item.has-dropdown:hover .site-nav__chevron,
.site-nav__item.has-dropdown:focus-within .site-nav__chevron {
	transform: rotate(180deg);
}

body.is-nav-dropdown-open .site-nav__chevron {
	background-image: url("/local/templates/alpha_energy/assets/images/chevron-down-cyan.png");
}

body.is-nav-dropdown-open .site-nav__item.is-dropdown-open > .site-nav__link .site-nav__chevron {
	background-image: url("/local/templates/alpha_energy/assets/images/chevron-down-blue.png");
}

.site-nav__dropdown {
	position: absolute;
	z-index: 105;
	top: calc(100% + 26px);
	left: 0;
	width: 340px;
	padding: 16px 0;
	border: 0;
	border-radius: 0 0 5px 5px;
	background: #ffffff;
	box-shadow: 2px 5px 6px rgba(0, 28, 74, .08);
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
	visibility: hidden;
}

@media (min-width: 901px) {
	.site-nav__dropdown::before {
		position: absolute;
		right: 0;
		bottom: 100%;
		left: 0;
		height: 26px;
		content: "";
		pointer-events: auto;
	}
}

.site-nav__dropdown--wide {
	width: min(620px, calc(100vw - 32px));
}

.site-nav__dropdown--wide .site-nav__dropdown-list {
	align-items: flex-start;
}

.site-nav__dropdown--wide .site-nav__dropdown-list > li {
	width: 100%;
}

.site-nav__item.has-dropdown.is-dropdown-open .site-nav__dropdown,
.site-nav__item.has-dropdown:hover .site-nav__dropdown,
.site-nav__item.has-dropdown:focus-within .site-nav__dropdown {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	visibility: visible;
}

.site-nav__dropdown-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	align-items: center;
	list-style: none;
}

.site-nav__dropdown-link {
	box-sizing: border-box;
	display: flex;
	width: 300px;
	min-height: 53px;
	align-items: center;
	padding: 14px 20px;
	color: var(--color-blue);
	font-family: var(--font-primary);
	font-size: 22px;
	font-style: normal;
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 24px;
	white-space: nowrap;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.site-nav__dropdown-link:hover,
.site-nav__dropdown-link:focus-visible {
	border: .75px solid var(--color-cyan);
	border-radius: 2px;
	background: var(--color-ice);
	color: var(--color-cyan);
	outline: 0;
}

.site-nav__dropdown--wide .site-nav__dropdown-link {
	width: calc(100% - 40px);
	margin-left: 20px;
	font-size: 22px;
	line-height: 24px;
}

.site-header__contact,
.hero__cta,
.arrow-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	font-weight: 700;
	text-transform: uppercase;
	transition: color .25s ease, background-color .25s ease, border-color .25s ease;
}

.arrow-icon {
	display: inline-block;
	width: 36px;
	height: 30px;
	flex: 0 0 36px;
	background-color: currentColor;
	-webkit-mask: url("/local/templates/alpha_energy/assets/images/arrow.svg") center / contain no-repeat;
	mask: url("/local/templates/alpha_energy/assets/images/arrow.svg") center / contain no-repeat;
	line-height: 0;
}

.arrow-icon--prev {
	transform: rotate(180deg);
}

.site-header__contact {
	display: none;
	min-height: 48px;
	padding: 12px 24px;
	border: 1px solid var(--color-cyan);
	background: var(--color-cyan);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.site-header__contact:hover {
	background: var(--color-navy);
	border-color: var(--color-navy);
	color: #fff;
}

.site-header__toggle {
	display: none;
	width: 52px;
	height: 52px;
	padding: 12px;
	border: 0;
	background: transparent;
	color: var(--color-navy);
	cursor: pointer;
	pointer-events: auto;
}

.site-header__toggle > span:not(.visually-hidden) {
	display: block;
	width: 100%;
	height: 3px;
	margin: 5px 0;
	background: currentColor;
	transition: transform .25s ease, opacity .25s ease;
}

.site-main {
	min-height: 70vh;
	padding-top: 80px;
}

.hero {
	position: relative;
	min-height: calc(100svh - 80px);
	overflow: hidden;
	background: #fff;
	isolation: isolate;
}

.hero__poster,
.hero__video,
.directions__media video {
	position: absolute;
	z-index: -2;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero__poster {
	z-index: -3;
}

.hero__shade {
	position: absolute;
	z-index: -1;
	top: -19svh;
	right: 0;
	left: 0;
	display: block;
	height: calc(100% + 19svh);
	background: linear-gradient(180deg, rgba(34, 135, 200, 0) 47.54%, rgba(17, 44, 90, .61) 68.46%, #112c5a 100%);
	pointer-events: none;
}

.hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	width: min(var(--container), calc(100% - var(--gutter) * 2));
	min-height: calc(100svh - 80px);
	margin-inline: auto;
	padding: clamp(80px, 11vh, 150px) 0 clamp(45px, 7vh, 90px);
	flex-direction: column;
	justify-content: flex-end;
}

.hero__eyebrow {
	margin: 0 0 16px;
	color: var(--color-navy);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.hero__copy {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 40px;
}

.hero h1 {
	max-width: 810px;
	margin: 0;
	color: #ffffff;
	font-family: var(--font-primary);
	font-size: clamp(42px, 3.65vw, 70px);
	font-style: normal;
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: 0;
	text-wrap: balance;
}

.hero__cta {
	width: min(100%, 374px);
	min-width: 374px;
	min-height: 58px;
	justify-content: space-between;
	padding: 11px 30px;
	border: 0;
	background: #cbecfb;
	color: var(--color-navy);
	font-family: var(--font-primary);
	font-size: 28px;
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 36px;
	text-transform: uppercase;
}

.hero__cta:hover {
	background: var(--color-cyan);
	color: #fff;
}

.hero__cta .arrow-icon,
.hero__cta > span[aria-hidden="true"] {
	display: inline-flex;
	width: 34px;
	height: 28px;
	flex: 0 0 34px;
	align-items: center;
	justify-content: center;
	font-size: 34px;
	font-weight: 400;
	line-height: 1;
}

.hero__timeline {
	display: grid;
	margin-top: 50px;
	grid-template-columns: repeat(var(--hero-scenes-count, 5), minmax(0, 1fr));
	gap: 32px;
}

.hero__scene {
	display: grid;
	padding: 0;
	border: 0;
	background: transparent;
	color: rgba(29, 67, 131, .5);
	cursor: pointer;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 32px;
}

.hero__scene span {
	color: #ffffff;
	font-family: var(--font-primary);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.05;
}

.hero__scene i {
	position: relative;
	display: block;
	height: 4px;
	overflow: hidden;
	background: #ffffff;
}

.hero__scene i::after {
	position: absolute;
	inset: 0;
	background: var(--color-cyan);
	content: "";
	transform: scaleX(var(--scene-progress, 0));
	transform-origin: left;
	will-change: transform;
}

.hero__scene.is-active {
	color: #ffffff;
}

.hero__scroll {
	display: none;
}

.directions {
	position: relative;
	width: 100%;
	height: 100svh;
	min-height: 100svh;
	overflow: hidden;
	background: #071c3d;
	color: #fff;
	isolation: isolate;
}

.directions__media {
	position: absolute;
	z-index: -2;
	inset: 0;
}

.directions__poster {
	position: absolute;
	z-index: -3;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity .32s ease;
}

.directions__shade {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(20, 31, 72, .86), rgba(46, 89, 137, .86)),
		linear-gradient(352deg, rgba(46, 89, 137, 0) 18%, rgba(29, 67, 131, .72) 100%);
	mix-blend-mode: multiply;
	pointer-events: none;
}

.directions__media video {
	opacity: 0;
	transition: opacity .25s ease;
}

.directions.is-video-active .directions__media video {
	opacity: 1;
}

.directions.is-video-active .directions__poster {
	opacity: 0;
}

.directions.is-video-loading .directions__media video {
	opacity: .55;
}

.intro-section h2 {
	max-width: 1120px;
	margin: 0;
	font-size: clamp(38px, 4.7vw, 76px);
	font-weight: 700;
	line-height: 1.04;
	letter-spacing: -.04em;
	text-wrap: balance;
}

.directions__sectors {
	position: absolute;
	inset: 0;
}

.directions__sectors::after {
	position: absolute;
	z-index: 4;
	inset: 0;
	pointer-events: none;
	content: "";
}

.directions__lines {
	position: absolute;
	z-index: 4;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.directions__lines polygon {
	fill: transparent;
	stroke: rgba(255, 255, 255, .18);
	stroke-width: 1.12;
	vector-effect: non-scaling-stroke;
}

/* Hide legacy markup that may still be returned by an old Bitrix cache. */
.directions__center,
.direction-sector__number,
.direction-sector__arrow {
	display: none !important;
}

.direction-sector {
	--direction-title-size-idle: clamp(28px, 2.0833vw, 40px);
	--direction-title-size-active: clamp(30px, 2.1875vw, 42px);
	--direction-title-size: var(--direction-title-size-idle);
	--direction-title-weight: 500;
	--direction-title-line-height: 1.3;
	--direction-title-letter-spacing: -.01em;
	--direction-title-color: #cbecfb;
	position: absolute;
	inset: 0;
	display: flex;
	padding: clamp(24px, 3vw, 56px);
	flex-direction: column;
	justify-content: space-between;
	background: transparent;
	transition: background-color .35s ease, filter .35s ease, opacity .35s ease;
}

.direction-sector::before {
	display: none;
}

.direction-sector--1 { clip-path: polygon(100% 0%, 50% 50%, 0% 0%); }
.direction-sector--2 { clip-path: polygon(100% 50%, 50% 50%, 100% 0%); }
.direction-sector--3 { clip-path: polygon(100% 50%, 50% 50%, 100% 100%); }
.direction-sector--4 { clip-path: polygon(100% 100%, 50% 50%, 0% 100%); }
.direction-sector--5 { clip-path: polygon(0% 50%, 50% 50%, 0% 100%); }
.direction-sector--6 { clip-path: polygon(0% 50%, 50% 50%, 0% 0%); }

.direction-sector:hover,
.direction-sector.is-active,
.direction-sector:focus-visible {
	--direction-title-size: var(--direction-title-size-active);
	--direction-title-weight: 700;
	--direction-title-line-height: 1.3095;
	--direction-title-letter-spacing: -.02em;
	--direction-title-color: #fff;
	z-index: 2;
	background: rgba(25, 185, 217, .6);
	outline: none;
}

.direction-sector__title {
	position: absolute;
	z-index: 5;
	max-width: min(36vw, 705px);
	color: var(--direction-title-color);
	font-family: var(--font-primary);
	font-size: var(--direction-title-size);
	font-weight: var(--direction-title-weight);
	font-style: normal;
	line-height: var(--direction-title-line-height);
	letter-spacing: var(--direction-title-letter-spacing);
	text-transform: uppercase;
	text-wrap: balance;
	transition: color .2s ease, font-size .2s ease, font-weight .2s ease, line-height .2s ease, letter-spacing .2s ease;
}

.direction-sector__title-line {
	display: block;
}

.direction-sector--1 .direction-sector__title { top: 13.9%; left: 50%; width: min(36vw, 622px); transform: translateX(-50%); text-align: center; }

.direction-sector--2 .direction-sector__title { top: 37%; right: 5%; width: min(26vw, 493px); text-align: left; }

.direction-sector--3 .direction-sector__title { top: 52.2%; right: 7.5%; width: min(24vw, 423px); text-align: left; }

.direction-sector--4 .direction-sector__title { top: 75.9%; left: 50%; width: min(40vw, 702px); transform: translateX(-50%); text-align: center; }

.direction-sector--5 .direction-sector__title { top: 52.2%; left: 8.5%; width: min(31vw, 578px); }

.direction-sector--6 .direction-sector__title { top: 37%; left: 8.5%; width: min(34vw, 650px); }

.about-stack {
	position: relative;
	--about-panel-height: 100svh;
	--about-panel-scroll-space: 0px;
	--about-panel-finish-space: 0px;
	padding: 0;
	margin-bottom: 0;
	background: transparent;
}

.about-stack__viewport {
	position: relative;
	padding-bottom: var(--about-panel-finish-space);
	overflow: visible;
	background: transparent;
}

.about-panel {
	position: sticky;
	top: 0;
	height: var(--about-panel-height);
	min-height: var(--about-panel-height);
	margin-bottom: var(--about-panel-scroll-space);
	overflow: hidden;
	transform: none;
	will-change: auto;
}

.about-panel:nth-child(1) { --about-index: 0; z-index: 1; }
.about-panel:nth-child(2) { --about-index: 1; z-index: 2; }
.about-panel:nth-child(3) { --about-index: 2; z-index: 3; }
.about-panel:nth-child(4) { --about-index: 3; z-index: 4; }

.about-panel:last-child {
	margin-bottom: 0;
}

.intro-section {
	display: flex;
	height: 100svh;
	min-height: 760px;
	padding: 0;
	align-items: stretch;
	flex-direction: column;
	background: #fff;
}

.intro-section__banner {
	flex: 0 0 clamp(180px, 23svh, 275px);
	background-color: #005d92;
	background-image: url("/local/templates/alpha_energy/assets/images/intro-banner-pattern.svg?v=20260728");
	background-position: center;
	background-repeat: repeat-x;
	background-size: auto 100%;
}

.intro-section__banner-inner {
	display: flex;
	box-sizing: border-box;
	width: min(var(--container), calc(100% - var(--gutter) * 2));
	height: 100%;
	margin-inline: auto;
	padding-inline: clamp(0px, 3.2vw, 62px);
	align-items: center;
	justify-content: space-between;
	gap: clamp(36px, 5vw, 96px);
}

.intro-section__banner-title {
	max-width: 990px;
	margin: 0;
	color: #fff;
	font-family: var(--font-primary);
	font-size: clamp(38px, 3.65vw, 70px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: uppercase;
	white-space: nowrap;
}

.intro-section__directions-link {
	display: inline-flex;
	max-width: 100%;
	/* min-width: 0; */
	min-height: 69px;
	padding: 14px 24px;
	flex: 0 1 auto;
	align-items: center;
	justify-content: center;
	gap: clamp(38px, 3.65vw, 70px);
	background: #cbecfb;
	color: #005d92;
	font-size: clamp(20px, 1.78vw, 34px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.01em;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background-color .2s ease;
}

.intro-section__directions-label {
	min-width: 0;
	overflow-wrap: normal;
}

.intro-section__directions-link:hover,
.intro-section__directions-link:focus-visible {
	background: var(--color-cyan);
}

.intro-section .container {
	position: relative;
	display: flex;
	box-sizing: border-box;
	min-height: 0;
	padding-block: clamp(42px, 7.2vh, 78px) clamp(34px, 5.6vh, 60px);
	padding-inline: clamp(0px, 3.2vw, 62px);
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
}

.intro-section .container::before,
.intro-section .container::after {
	display: none;
}

.intro-section h2 {
	max-width: min(1426px, 74.3vw);
	margin: 0;
	color: var(--color-blue);
	font-size: clamp(42px, 3.65vw, 70px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0;
}

.intro-section__grid {
	position: relative;
	display: grid;
	margin-top: clamp(10px, 1.7vh, 20px);
	padding-top: clamp(42px, 7.2vh, 78px);
	border-top: 1px solid rgba(29, 67, 131, .28);
	grid-template-columns: minmax(0, 1fr) minmax(440px, 660px);
	align-items: start;
	column-gap: clamp(70px, 8.5vw, 164px);
	row-gap: clamp(40px, 6.1vh, 66px);
}

.intro-section__grid::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 1px;
	background: rgba(29, 67, 131, .28);
	content: "";
}

.intro-section__grid p {
	grid-column: 2;
	max-width: 660px;
	margin: 0;
	color: var(--color-navy);
	font-size: clamp(22px, 1.6667vw, 32px);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -.01em;
}

.arrow-link {
	grid-column: 2;
	width: min(100%, 385px);
	min-width: 0;
	min-height: 69px;
	margin-top: 0;
	padding: 14px 27px;
	border: 0;
	background: var(--color-light);
	color: var(--color-navy);
	font-size: clamp(22px, 1.78vw, 34px);
	font-weight: 500;
	gap: clamp(42px, 3.65vw, 70px);
	line-height: 1.1;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

.arrow-link:hover {
	background: var(--color-cyan);
	color: #fff;
}

.section-heading {
	margin-bottom: clamp(42px, 6vw, 90px);
}

.section-heading h2,
.story-section h2,
.geography-section h2,
.partners-section h2 {
	max-width: 1100px;
	margin: 0;
	color: var(--color-navy);
	font-size: clamp(38px, 4.7vw, 76px);
	font-weight: 700;
	line-height: 1.04;
	letter-spacing: -.04em;
	text-wrap: balance;
}

.section-heading--row {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 40px;
}

.story-section {
	position: relative;
	min-height: var(--about-panel-height);
	overflow: hidden;
	color: #fff;
	isolation: isolate;
}

.story-section__media,
.story-section__media::after,
.team-section__media,
.team-section__media::after {
	position: absolute;
	z-index: -2;
	inset: 0;
}

.story-section__media img,
.team-section__media img,
.metrics-section__media img,
.project-card img,
.news-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.team-section__media img {
	object-position: 68% center;
}

.story-section__media::after,
.team-section__media::after {
	z-index: 1;
	background: linear-gradient(90deg, rgba(4, 28, 67, .42), rgba(4, 28, 67, .02) 70%);
	content: "";
}

.story-section__content,
.team-section__content {
	display: flex;
	min-height: 100%;
	padding-block: clamp(34px, 5vh, 52px) clamp(24px, 4vh, 36px);
	flex-direction: column;
	justify-content: space-between;
}

.story-section h2,
.team-section h2,
.geography-section h2,
.partners-section h2 {
	color: #fff;
}

.story-section h2,
.team-section h2 {
	max-width: 930px;
	margin: 0;
	font-size: clamp(34px, 3vw, 56px);
	line-height: 1.05;
	letter-spacing: -.035em;
}

.team-section h2 {
	max-width: 720px;
}

.story-section__card,
.team-section__card {
	display: grid;
	width: 100%;
	min-height: min(230px, 44%);
	margin-left: auto;
	margin-bottom: clamp(54px, 8vh, 96px);
	padding: clamp(24px, 4vh, 42px) clamp(42px, 5vw, 86px);
	align-items: center;
	grid-template-columns: 1fr 1fr;
	background: #fff;
	color: var(--color-navy);
	clip-path: polygon(11% 0, 100% 0, 100% 100%, 0 100%);
}

.story-section__card-space,
.team-section__card-space {
	height: 85%;
	border-right: 1px dashed #8ed2ee;
}

.story-section__stat,
.team-section__stat {
	padding-left: clamp(40px, 6vw, 100px);
}

.story-section__stat strong,
.team-section__stat strong {
	display: block;
	margin-bottom: 8px;
	color: var(--color-blue);
	font-size: clamp(36px, 3vw, 56px);
	font-weight: 600;
	line-height: 1.05;
}

.story-section__stat p,
.team-section__stat p {
	max-width: 560px;
	margin: 0;
	color: var(--color-navy);
	font-size: clamp(15px, 1.05vw, 20px);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -.01em;
}

.team-section {
	position: relative;
	min-height: var(--about-panel-height);
	overflow: hidden;
	color: #fff;
	isolation: isolate;
}

.process-section,
.projects-section,
.news-section {
	padding: clamp(90px, 10vw, 180px) 0;
}

.process-section {
	position: relative;
	z-index: 5;
	padding: clamp(54px, 4.8vw, 92px) 0 clamp(72px, 7vw, 132px);
	overflow: visible;
	background: #fff;
}

.process-section .container {
	width: min(1584px, 82vw);
}

.process-section .eyebrow {
	display: none;
}

.process-section .section-heading {
	margin-bottom: clamp(48px, 4vw, 76px);
}

.process-section .section-heading h2 {
	max-width: 1080px;
	font-size: clamp(42px, 3.65vw, 70px);
	line-height: 1.05;
	letter-spacing: -.025em;
}

.metrics-section {
	position: relative;
	min-height: var(--about-panel-height);
	padding: 0;
	color: #fff;
	isolation: isolate;
}

.metrics-section__media,
.metrics-section__media::after {
	position: absolute;
	z-index: -2;
	inset: 0;
}

.metrics-section__media::after {
	z-index: 1;
	background: none;
	content: "";
}

.metrics-section .container {
	position: relative;
	display: flex;
	min-height: 100%;
	padding-block: clamp(34px, 5vh, 52px) clamp(24px, 4vh, 36px);
	flex-direction: column;
	justify-content: space-between;
}

.metrics-section h2 {
	max-width: 620px;
	margin: 0;
	color: #fff;
	font-size: clamp(34px, 3vw, 56px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -.035em;
}

.metrics-section__grid {
	display: grid;
	min-height: min(242px, 46.2%);
	margin-top: 0;
	margin-bottom: clamp(54px, 8vh, 96px);
	background: #fff;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.metric-card {
	display: flex;
	min-height: 100%;
	padding: clamp(26px, 5vh, 52px) clamp(24px, 3vw, 52px);
	border: 0;
	border-right: 1px solid rgba(34, 135, 200, .3);
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 18px;
	background: transparent;
	color: var(--color-navy);
}

.metric-card:last-child {
	border-right: 0;
}

.metric-card strong {
	color: var(--color-blue);
	font-size: clamp(34px, 3vw, 56px);
	font-weight: 600;
	line-height: 1.05;
	white-space: nowrap;
}

.metric-card span {
	max-width: 280px;
	color: var(--color-navy);
	font-size: clamp(15px, 1.05vw, 20px);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -.01em;
}

.story-section__content > h2:not(.home-panel-dynamic-title),
.team-section__content > h2:not(.home-panel-dynamic-title),
.metrics-section .container > h2:not(.home-panel-dynamic-title),
.story-section__stat > strong:not(.home-panel-dynamic-value),
.story-section__stat > p:not(.home-panel-dynamic-text),
.team-section__stat > strong:not(.home-panel-dynamic-value),
.team-section__stat > p:not(.home-panel-dynamic-text),
.metrics-section__grid:not(.metrics-section__grid--dynamic) {
	display: none;
}

.about-stack__viewport > .about-panel {
	position: sticky;
	top: 0;
	height: var(--about-panel-height);
	min-height: var(--about-panel-height);
	transform: none;
}

.about-stack__viewport > .intro-section.about-panel {
	height: 100svh;
	min-height: 760px;
}

.process-grid {
	display: grid;
	overflow: visible;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(14px, 1.6vw, 28px) 0;
}

.process-card {
	--process-card-overlap: clamp(14px, 1.98vw, 38px);
	--process-line-left: 32.07%;
	--process-copy-left: 36.89%;
	--process-copy-width: 41.08%;
	--process-number-left: 2.21%;
	--process-number-width: 23.25%;
	--process-image-clip: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	--process-image-transform: scale(1.035);
	--process-image-hover-transform: scale(1);
	--process-copy-hover-lift: clamp(6px, .625vw, 12px);
	position: relative;
	container-type: inline-size;
	aspect-ratio: 829.5 / 251;
	min-height: 0;
	overflow: hidden;
	background: #fff;
	outline: none;
	isolation: isolate;
	cursor: default;
}

.process-card:nth-child(odd) {
	width: calc(100% + var(--process-card-overlap));
	justify-self: start;
	z-index: 2;
}

.process-card:nth-child(even) {
	width: calc(100% + var(--process-card-overlap));
	justify-self: end;
	z-index: 1;
}

.process-card:nth-child(even) {
	--process-line-left: 52.29%;
	--process-copy-left: 57.11%;
	--process-copy-width: 39.52%;
	--process-number-left: 23.29%;
	--process-image-clip: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.process-card:is(:hover, :focus-visible, .is-active) {
	z-index: 10;
}

.process-card__image,
.process-card__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: none;
}

.process-card__image {
	z-index: 0;
	filter: brightness(.8);
	object-fit: cover;
	-webkit-clip-path: none;
	clip-path: none;
	transform: var(--process-image-transform);
	transition: transform .55s cubic-bezier(.22, 1, .36, 1), filter .35s ease;
	will-change: opacity, transform;
}

.process-section .process-card,
.process-section .process-card__image {
	-webkit-clip-path: none !important;
	clip-path: none !important;
}

.process-card__shade {
	display: none;
	z-index: 1;
	background: transparent;
}

.process-card__content {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	min-height: 0;
	padding: 0;
}

.process-card__content::after {
	position: absolute;
	top: 10.79%;
	left: var(--process-line-left);
	width: 0;
	height: 78.42%;
	border-left: 1px solid rgba(34, 135, 200, .55);
	content: "";
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, .1) 0%, #000 10%, #000 90%, rgba(0, 0, 0, .1) 100%);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, .1) 0%, #000 50%, #000 50%, rgba(0, 0, 0, .1) 100%);
	transition: border-color .35s ease, filter .35s ease;
}

.process-card__number {
	position: absolute;
	top: 50%;
	left: var(--process-number-left);
	display: flex;
	width: var(--process-number-width);
	height: 104.78%;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: linear-gradient(
		0deg,
		rgba(34, 135, 200, 0) 22%,
		rgba(34, 135, 200, .34) 48%,
		#2287c8 88%
	);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
	font-family: var(--font-heading);
	font-size: clamp(92px, 8.85vw, 170px);
	font-size: clamp(96px, 20.48cqw, 170px);
	font-weight: 300;
	line-height: 1.547;
	letter-spacing: -.02em;
	text-transform: uppercase;
	transform: translateY(-50%);
	white-space: nowrap;
	transition: color .35s ease, background .35s ease;
}

.process-card__copy {
	position: absolute;
	top: 50%;
	left: var(--process-copy-left);
	width: var(--process-copy-width);
	padding: 0;
	transform: translateY(-50%);
}

.process-card h3 {
	max-height: 92px;
	margin: 0;
	color: var(--color-navy);
	font-family: var(--font-heading);
	font-size: clamp(17px, 1.28vw, 24.5px);
	font-size: clamp(17px, 2.95cqw, 24.5px);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -.01em;
	overflow: hidden;
	overflow-wrap: anywhere;
	transition: color .35s ease, max-height .3s ease, opacity .25s ease, visibility .25s ease;
}

.process-card p {
	max-width: 100%;
	max-height: 0;
	margin: 0;
	overflow: hidden;
	color: #fff;
	font-family: var(--font-heading);
	font-size: clamp(16px, 1.28vw, 24.5px);
	font-size: clamp(16px, 2.95cqw, 24.5px);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -.01em;
	opacity: 0;
	transform: translateY(8px);
	transition: max-height .35s ease, opacity .25s ease, transform .35s ease;
}

.process-card:is(:hover, :focus-visible, .is-active) .process-card__image {
	opacity: 1;
	transition: opacity .18s ease-out, transform .55s cubic-bezier(.22, 1, .36, 1), filter .35s ease;
}

.process-card:is(:hover, :focus-visible, .is-active) .process-card__image {
	transform: var(--process-image-hover-transform);
}

.process-card:is(:hover, :focus-visible, .is-active) .process-card__number {
	background: linear-gradient(360deg, rgba(255, 255, 255, 0) 13.99%, rgba(255, 255, 255, .11) 27.31%, rgba(255, 255, 255, .76) 45.32%, #fff 87.45%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
}

.process-card:is(:hover, :focus-visible, .is-active) .process-card__content::after {
	border-color: rgba(255, 255, 255, .55);
	filter: drop-shadow(0 0 5px rgba(255, 255, 255, .1));
}

.process-card:is(:hover, :focus-visible, .is-active) .process-card__copy {
	top: calc(50% - var(--process-copy-hover-lift));
	text-align: left;
}

.process-card:is(:hover, :focus-visible, .is-active) h3 {
	color: #fff;
	max-height: 0;
	opacity: 0;
	visibility: hidden;
}

.process-card:is(:hover, :focus-visible, .is-active) p {
	max-height: 170px;
	opacity: 1;
	transform: translateY(0);
}

.process-card:focus-visible {
	box-shadow: inset 0 0 0 3px var(--color-cyan);
}

.advantages-section {
	min-height: var(--advantages-height);
	padding: clamp(24px, 3.8vh, 42px) 0 0;
	overflow: hidden;
	background: #fff;
	color: var(--color-navy);
}

.advantages-section .container {
	position: relative;
	min-height: calc(var(--advantages-height) - clamp(24px, 3.8vh, 42px));
}

.advantages-section h2 {
	position: relative;
	z-index: 2;
	max-width: min(1308px, 78%);
	margin: 0;
	color: var(--color-navy);
	font-size: clamp(44px, 3.65vw, 70px);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -.035em;
	transition: opacity .25s ease, visibility .25s ease;
}

.advantages-grid {
	display: grid;
	min-height: calc(var(--advantages-height) - clamp(60px, 7vh, 78px));
	margin-top: calc(clamp(128px, 19vh, 206px) * -1);
	padding-top: clamp(150px, 22vh, 238px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
}

.advantage-card {
	position: relative;
	display: flex;
	min-height: calc(var(--advantages-height) - clamp(60px, 7vh, 78px));
	padding: clamp(420px, 48vh, 518px) clamp(24px, 2vw, 42px) clamp(42px, 5.5vh, 58px);
	border: 0;
	border-left: 1px solid rgba(29, 67, 131, .12);
	flex-direction: column;
	align-items: flex-start;
	gap: 30px;
	overflow: hidden;
	background: #fff;
	color: var(--color-navy);
	text-align: left;
	cursor: pointer;
	isolation: isolate;
	transition: color .3s ease, background-color .3s ease;
}

.advantage-card:last-child {
	border-right: 1px solid rgba(29, 67, 131, .12);
}

.advantage-card::before,
.advantage-card::after {
	position: absolute;
	inset: 0;
	z-index: -2;
	content: "";
	opacity: 0;
	transition: opacity .35s ease;
}

.advantage-card::before {
	background-image: var(--advantage-bg);
	background-position: center;
	background-size: cover;
	filter: saturate(.9) contrast(1.08);
}

.advantage-card::after {
	z-index: -1;
	background: linear-gradient(180deg, rgba(0, 16, 43, .12) 18%, rgba(0, 16, 43, .92) 84%);
}

.advantage-card:is(:hover, :focus-visible, .is-active) {
	color: #fff;
}

.advantage-card:is(:hover, :focus-visible, .is-active)::before,
.advantage-card:is(:hover, :focus-visible, .is-active)::after {
	opacity: 1;
}

.advantage-card__icon {
	position: absolute;
	top: clamp(250px, 28vh, 302px);
	left: clamp(24px, 2vw, 42px);
	width: clamp(112px, 9vw, 170px);
	height: clamp(86px, 7.5vw, 126px);
}

.advantage-card__icon img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left center;
	transition: opacity .25s ease, transform .3s ease, filter .25s ease;
}

.advantage-card__icon-white {
	z-index: 2;
	opacity: 0;
	transform: scale(.9);
}

.advantage-card:is(:hover, :focus-visible, .is-active) .advantage-card__icon-blue {
	z-index: 1;
	opacity: 1;
	filter: brightness(0) invert(1) !important;
	transform: scale(1);
}

.advantage-card:is(:hover, :focus-visible, .is-active) .advantage-card__icon-white {
	z-index: 2;
	opacity: 1;
	transform: scale(1);
}

.advantage-card:nth-child(3) .advantage-card__icon-blue {
	filter: brightness(0) saturate(100%) invert(45%) sepia(93%) saturate(1037%) hue-rotate(163deg) brightness(88%) contrast(82%);
}

.advantage-card__eyebrow,
.advantage-card__title,
.advantage-card__text {
	position: relative;
	z-index: 1;
	display: block;
}

.advantage-card__eyebrow {
	width: 100%;
	font-size: clamp(18px, 1.25vw, 24px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.01em;
}

.advantage-card__line {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	border-top: 1.25px solid var(--color-cyan);
	transition: border-color .3s ease;
}

.advantage-card:is(:hover, :focus-visible, .is-active) .advantage-card__line {
	border-color: #fff;
}

.advantage-card__title {
	max-width: 450px;
	font-size: clamp(28px, 2.08vw, 40px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

.advantage-card__text {
	max-width: 460px;
	margin-top: auto;
	font-size: clamp(17px, 1.2vw, 23px);
	font-weight: 600;
	line-height: 1.34;
	letter-spacing: -.01em;
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .3s ease, transform .3s ease;
}

@media (min-width: 1181px) {
	.advantages-section .container {
		width: min(1680px, calc(100% - var(--gutter) * 2));
	}

	.advantage-card {
		padding-bottom: clamp(54px, 6.5vh, 70px);
	}

	.advantage-card__text {
		padding-top: clamp(16px, 1.25vw, 24px);
	}
}

.advantage-card:is(:hover, :focus-visible, .is-active) .advantage-card__text {
	opacity: 1;
	transform: translateY(0);
}

.advantage-card:focus-visible {
	outline: 3px solid var(--color-cyan);
	outline-offset: -3px;
}

.projects-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.home-projects-section {
	padding: clamp(78px, 8vw, 138px) 0;
	background: #fff;
}

.home-projects-section__head {
	margin-bottom: clamp(32px, 3.6vw, 58px);
}

.home-projects-section h2 {
	max-width: 1000px;
	margin: 0;
	color: var(--color-navy);
	font-size: clamp(42px, 4.8vw, 70px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0;
}

.home-projects-section__all {
	display: inline-flex;
	min-height: 58px;
	margin-top: clamp(42px, 4vw, 64px);
	padding: 11px 30px;
	align-items: center;
	justify-content: center;
	gap: 48px;
	background: var(--color-light);
	color: var(--color-navy);
	font-size: clamp(18px, 1.45vw, 28px);
	font-weight: 600;
	line-height: 1.25;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease;
}

.home-projects-section__all:hover {
	background: var(--color-navy);
	color: #fff;
}

.home-projects-filter {
	display: flex;
	margin-bottom: 40px;
	flex-wrap: wrap;
	gap: 18px;
}

.home-projects-filter button {
	display: inline-flex;
	min-height: 35px;
	padding: 7px 17px;
	border: 1px solid var(--color-blue);
	border-radius: 26px;
	align-items: center;
	justify-content: center;
	background: #fff;
	color: var(--color-blue);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

.home-projects-filter button:hover,
.home-projects-filter button.is-active {
	border-color: var(--color-cyan);
	background: var(--color-cyan);
	color: #fff;
}

.home-projects-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
}

.home-project-card {
	position: relative;
	display: flex;
	min-width: 0;
	padding: 20px 31px;
	flex-direction: column;
	gap: 20px;
	color: var(--color-text);
	transition: none;
}

.home-project-card::before,
.home-project-card::after {
	content: "";
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 0;
	width: 1px;
	background: linear-gradient(
		to bottom,
		rgba(34, 135, 200, 0),
		rgba(34, 135, 200, .22) 15%,
		rgba(34, 135, 200, .22) 85%,
		rgba(34, 135, 200, 0)
	);
	pointer-events: none;
}

.home-project-card::before {
	left: 0;
}

.home-project-card::after {
	right: 0;
	display: none;
}

.home-project-card.is-last-visible::after {
	display: block;
}

.home-project-card[hidden],
.home-news-card[hidden] {
	display: none !important;
}

.home-project-card:hover {
	background: transparent;
	transform: none;
}

.home-project-card__image {
	position: relative;
	display: flex;
	width: 100%;
	aspect-ratio: 465 / 297;
	align-items: flex-start;
	justify-content: flex-start;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(34, 135, 200, .22), rgba(0, 169, 207, .08)),
		var(--color-ice);
}

.home-project-card__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .45s ease;
}

.home-project-card:hover .home-project-card__image img {
	transform: scale(1.035);
}

.home-project-card__industry {
	position: relative;
	z-index: 1;
	display: inline-flex;
	min-height: 38px;
	margin: 15px 0 0 15px;
	padding: 8px 19px;
	border-radius: 26px;
	align-items: center;
	justify-content: center;
	background: rgba(242, 251, 255, .92);
	color: #005d92;
	font-size: clamp(14px, 1.05vw, 20px);
	font-weight: 500;
	line-height: 1.1;
	text-align: center;
	text-transform: uppercase;
	backdrop-filter: blur(18px);
}

.home-project-card__title {
	color: var(--color-text);
	font-size: clamp(21px, 1.45vw, 25px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: uppercase;
}

.home-project-card__city {
	color: var(--color-blue);
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
}

.home-project-card__text {
	color: #757575;
	font-size: 16px;
	line-height: 1.25;
	letter-spacing: 0;
}

.home-project-card__works {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.home-project-card__works span {
	display: inline-flex;
	max-width: 100%;
	min-height: 32px;
	padding: 6px 8px;
	border: 1px solid #90d6ea;
	align-items: center;
	justify-content: flex-start;
	color: var(--color-cyan);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-align: left;
}

.home-project-card__more {
	display: inline-flex;
	width: max-content;
	max-width: 100%;
	color: #005d92;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: 0;
	transition: color .2s ease;
}

.home-project-card__more:hover {
	color: var(--color-cyan);
}

.home-projects-empty {
	max-width: 720px;
	margin: 0;
	padding: 28px 32px;
	border: 1px solid #90d6ea;
	background: rgba(242, 251, 255, .76);
	color: var(--color-navy);
	font-size: clamp(18px, 1.2vw, 22px);
	font-weight: 600;
	line-height: 1.35;
}

.project-card {
	position: relative;
	display: flex;
	min-height: 380px;
	padding: 30px;
	overflow: hidden;
	flex-direction: column;
	justify-content: flex-end;
	color: #fff;
	isolation: isolate;
}

.project-card::after,
.news-card--image::after {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(0deg, rgba(5, 28, 66, .9), rgba(5, 28, 66, 0) 70%);
	content: "";
}

.project-card img,
.news-card img {
	position: absolute;
	z-index: -2;
	inset: 0;
	transition: transform .45s ease;
}

.project-card:hover img,
.news-card:hover img {
	transform: scale(1.04);
}

.project-card--large {
	min-height: 784px;
	grid-row: span 2;
}

.project-card span {
	color: #bfeeff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.project-card h3 {
	max-width: 650px;
	margin: 14px 0 0;
	font-size: clamp(24px, 2.5vw, 44px);
	line-height: 1.08;
	text-transform: uppercase;
}

.geography-section {
	position: relative;
	height: 100svh;
	min-height: 1180px;
	padding: 0;
	overflow: hidden;
	background: linear-gradient(360deg, #2E5989 0%, #141F48 100%);
	color: #fff;
	isolation: isolate;
}

.geography-section__layout {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: none;
	height: 100%;
	min-height: 1180px;
	padding: 0;
}

.geography-section h2 {
	position: absolute;
	z-index: 4;
	top: 63px;
	left: max(20px, calc(50% - 792px));
	width: max-content;
	max-width: none;
	font-size: 70px;
	line-height: 1.05;
	white-space: nowrap;
}

.geography-section__media {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.geography-section::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	height: 100%;
	background: linear-gradient(360deg, rgba(46, 89, 137, .48) 0%, rgba(20, 31, 72, .48) 100%);
	background-blend-mode: multiply;
	content: "";
	pointer-events: none;
}

.geography-section__media img,
.geography-section__media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: none;
}

.geography-section__media video {
	display: block;
}

.geography-map {
	position: absolute;
	z-index: 1;
	display: block;
	right: 50%;
	bottom: -20px;
	width: min(80%, 1050px);
	height: auto;
	filter: drop-shadow(0 18px 30px rgba(2, 15, 35, .32));
	transform: translateX(50%);
}

.geography-map--frame {
	bottom: 50%;
	width: min(118vw, 1500px);
	max-width: none;
	transform: translate(50%, 50%);
}

.geography-map-wrap {
	position: absolute;
	z-index: 3;
	top: 135px;
	left: 50%;
	width: min(112vw, 2100px);
	height: auto;
	aspect-ratio: 2299 / 1149;
	max-width: none;
	transform: translateX(-47%);
}

.geography-map--custom {
	position: relative;
	display: block;
	right: auto;
	bottom: auto;
	width: 100%;
	height: 100%;
	object-fit: fill;
	filter: drop-shadow(0 18px 30px rgba(2, 15, 35, .32));
	transform: none;
}

.geography-point {
	position: absolute;
	left: var(--point-x);
	top: var(--point-y);
	z-index: 3;
	width: 12px;
	height: 12px;
	border: 2px solid #d9f4ff;
	border-radius: 50%;
	background: #1d4383;
	box-shadow: 0 0 0 2px rgba(29, 67, 131, .5), 0 8px 14px rgba(2, 15, 35, .32);
	transform: translate(-50%, -50%);
	animation: geography-point-blink 5.6s ease-in-out infinite;
}

.geography-point::after {
	content: "";
	position: absolute;
	inset: -6px;
	border: 1px solid rgba(217, 244, 255, .64);
	border-radius: 50%;
	animation: geography-point-pulse 5.6s ease-in-out infinite;
}

.geography-point:nth-of-type(3n + 1),
.geography-point:nth-of-type(3n + 1)::after {
	animation-delay: -.8s;
	animation-duration: 6.4s;
}

.geography-point:nth-of-type(3n + 2),
.geography-point:nth-of-type(3n + 2)::after {
	animation-delay: -1.9s;
	animation-duration: 5.1s;
}

.geography-point:nth-of-type(4n),
.geography-point:nth-of-type(4n)::after {
	animation-delay: -2.7s;
	animation-duration: 7.2s;
}

@keyframes geography-point-blink {
	0%,
	100% {
		opacity: .86;
		box-shadow: 0 0 0 2px rgba(29, 67, 131, .42), 0 8px 14px rgba(2, 15, 35, .3);
	}

	50% {
		opacity: 1;
		box-shadow: 0 0 0 2px rgba(217, 244, 255, .54), 0 0 8px rgba(217, 244, 255, .42), 0 8px 14px rgba(2, 15, 35, .32);
	}
}

@keyframes geography-point-pulse {
	0%,
	100% {
		opacity: .2;
		transform: scale(.94);
	}

	50% {
		opacity: .48;
		transform: scale(1.14);
	}
}

.geography-point--project {
	z-index: 4;
	width: 56px;
	height: 56px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	/* PNG: 55 x 101, tip at (20.5, 100.5). Account for horizontal object-fit: contain padding in the square marker. */
	transform: translate(-43.069307%, -99.50495%);
	animation: none;
	appearance: none;
}

.geography-point--project::after {
	display: none;
}

.geography-point--project img {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 12px 18px rgba(2, 15, 35, .3));
	transform-origin: 43.069307% 99.50495%;
	animation: geography-lightning-pulse 2.4s ease-in-out infinite;
	transition: transform .22s ease, filter .22s ease;
	will-change: transform, filter;
}

.geography-point--project:nth-of-type(3n + 1) img {
	animation-delay: -.8s;
}

.geography-point--project:nth-of-type(3n + 2) img {
	animation-delay: -1.6s;
}

@keyframes geography-lightning-pulse {
	0%,
	100% {
		filter: drop-shadow(0 12px 18px rgba(2, 15, 35, .3)) drop-shadow(0 0 2px rgba(47, 194, 224, .34));
		transform: scale(.96);
	}

	45% {
		filter: drop-shadow(0 16px 24px rgba(2, 15, 35, .4)) drop-shadow(0 0 13px rgba(47, 194, 224, .9));
		transform: scale(1.18);
	}

	62% {
		filter: drop-shadow(0 14px 20px rgba(2, 15, 35, .34)) drop-shadow(0 0 6px rgba(47, 194, 224, .58));
		transform: scale(1.06);
	}
}

.geography-point--project:hover img,
.geography-point--project:focus-visible img,
.geography-point--project.is-active img {
	animation: none;
	filter: drop-shadow(0 16px 24px rgba(2, 15, 35, .38));
	transform: scale(1.2);
}

.geography-point--project:focus-visible {
	outline: 2px solid #f2fbff;
	outline-offset: 5px;
}

.geography-point--project.is-active::after {
	background: rgba(242, 251, 255, .28);
	opacity: 1;
}

.geography-projects {
	position: absolute;
	z-index: 8;
	top: 0;
	left: 50%;
	display: block;
	width: 100vw;
	max-width: none;
	height: 100%;
	padding: 0;
	background: transparent;
	color: var(--color-navy);
	transform: translateX(-50%);
}

.geography-projects[hidden] {
	display: none;
}

.geography-projects__overlay {
	position: absolute;
	z-index: 1;
	inset: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: rgba(5, 24, 55, .72);
	cursor: pointer;
}

.geography-projects__panel {
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	display: flex;
	width: min(54vw, 1050px);
	height: 100%;
	padding: clamp(64px, 6vw, 88px) clamp(32px, 4.6vw, 64px) clamp(42px, 4vw, 72px);
	flex-direction: column;
	background: #fff;
	box-shadow: -30px 0 70px rgba(2, 15, 35, .28);
}

.geography-projects__close {
	position: absolute;
	top: clamp(26px, 3vw, 42px);
	right: clamp(24px, 3.6vw, 52px);
	z-index: 2;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.geography-projects__close::before,
.geography-projects__close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 34px;
	height: 2px;
	background: var(--color-light);
	transform-origin: center;
}

.geography-projects__close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.geography-projects__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.geography-projects__close:hover::before,
.geography-projects__close:hover::after,
.geography-projects__close:focus-visible::before,
.geography-projects__close:focus-visible::after {
	background: var(--color-blue);
}

.geography-projects__close:focus-visible {
	outline: 2px solid var(--color-blue);
	outline-offset: 4px;
}

.geography-projects__city {
	display: flex;
	min-height: 0;
	flex: 1;
	flex-direction: column;
}

.geography-projects__city[hidden] {
	display: none;
}

.geography-projects__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px 28px;
	align-items: end;
	margin: 0 0 clamp(28px, 4vw, 54px);
	padding-right: 58px;
}

.geography-projects__count,
.geography-projects__city-name {
	grid-column: 1;
	display: block;
}

.geography-projects__count {
	color: var(--color-navy);
	font-size: clamp(42px, 4.4vw, 70px);
	font-weight: 600;
	line-height: 1.05;
}

.geography-projects__city-name {
	color: var(--color-blue);
	font-size: clamp(34px, 3.8vw, 58px);
	font-weight: 600;
	line-height: 1.05;
}

.geography-projects__city-prefix {
	text-decoration: none;
}

.geography-projects__city-value {
	text-decoration: underline;
	text-decoration-color: #90d6ea;
	text-decoration-thickness: 2px;
	text-underline-offset: .12em;
}

.geography-projects__all {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: inline-flex;
	min-height: 52px;
	padding: 8px 28px;
	align-items: center;
	gap: 28px;
	align-self: center;
	background: var(--color-light);
	color: var(--color-navy);
	font-size: clamp(18px, 1.45vw, 28px);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease;
}

.geography-projects__all:hover {
	background: var(--color-blue);
	color: #fff;
}

.geography-projects__all .arrow-icon {
	width: 34px;
	min-width: 34px;
	height: 28px;
}

.geography-projects__list {
	display: grid;
	min-height: 0;
	padding-right: 18px;
	overflow-y: auto;
	scrollbar-color: #90d6ea rgba(199, 224, 240, .5);
	scrollbar-width: thin;
}

.geography-project-card {
	position: relative;
	display: grid;
	min-width: 0;
	padding: 24px 0;
	grid-template-columns: minmax(220px, .62fr) minmax(240px, .38fr);
	gap: 20px;
	background: #fff;
	color: var(--color-text);
}

.geography-project-card::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, rgba(144, 214, 234, 0), rgba(144, 214, 234, .78) 14%, rgba(144, 214, 234, .78) 86%, rgba(144, 214, 234, 0));
}

.geography-project-card:first-child {
	padding-top: 0;
}

.geography-project-card--no-image {
	grid-template-columns: 1fr;
}

.geography-project-card__image {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 465 / 264;
	background:
		linear-gradient(135deg, rgba(34, 135, 200, .22), rgba(0, 169, 207, .08)),
		var(--color-ice);
}

.geography-project-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.geography-project-card__image:hover img {
	transform: scale(1.035);
}

.geography-project-card__industry {
	position: absolute;
	top: 15px;
	left: 15px;
	display: inline-flex;
	max-width: calc(100% - 30px);
	min-height: 36px;
	padding: 8px 19px;
	align-items: center;
	justify-content: center;
	border-radius: 26px;
	background: rgba(242, 251, 255, .92);
	color: #005d92;
	font-size: clamp(13px, 1vw, 18px);
	font-weight: 500;
	line-height: 1.12;
	text-transform: uppercase;
	backdrop-filter: blur(18px);
}

.geography-project-card__body {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}

.geography-project-card__city {
	color: var(--color-blue);
	font-size: clamp(18px, 1.2vw, 22px);
	font-weight: 500;
	line-height: 1.1;
}

.geography-project-card__title {
	color: var(--color-text);
	font-size: clamp(20px, 1.55vw, 26px);
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
}

.geography-project-card__title:hover,
.geography-project-card__more:hover {
	color: var(--color-cyan);
}

.geography-project-card__text {
	color: #767676;
	font-size: 15px;
	line-height: 1.35;
}

.geography-project-card__works {
	display: flex;
	margin-top: auto;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.geography-project-card__works span {
	display: inline-flex;
	max-width: 100%;
	min-height: 32px;
	padding: 6px 8px;
	border: 1px solid #90d6ea;
	align-items: center;
	justify-content: flex-start;
	background: var(--color-ice);
	color: var(--color-cyan);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-align: left;
}

.geography-project-card__more {
	margin-top: 2px;
	color: #005d92;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.12;
	text-decoration: none;
}

.geography-projects__empty {
	margin: 0;
	padding: 32px 0;
	border-top: 1px solid rgba(144, 214, 234, .5);
	color: #4f5b66;
	font-size: 18px;
	line-height: 1.4;
}

@media (max-width: 1180px) {
	.geography-projects__panel {
		width: min(68vw, 720px);
	}

	.geography-projects__head {
		grid-template-columns: 1fr;
		padding-right: 48px;
	}

	.geography-projects__all {
		grid-column: 1;
		grid-row: auto;
		width: max-content;
	}

	.geography-project-card {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 1180px) {
	.geography-point--project {
		width: 42px;
		height: 42px;
	}

	.geography-projects__panel {
		inset: 0;
		width: 100%;
		padding: 82px 20px 28px;
	}

	.geography-projects__close {
		top: 24px;
		right: 18px;
	}

	.geography-projects__head {
		margin-bottom: 26px;
		padding-right: 44px;
	}

	.geography-projects__count,
	.geography-projects__city-name {
		font-size: 34px;
		line-height: 1.08;
	}

	.geography-projects__all {
		min-height: 42px;
		padding: 8px 16px;
		gap: 16px;
		font-size: 15px;
	}

	.geography-projects__list {
		padding-right: 0;
	}

	.geography-project-card {
		padding: 20px 0;
		gap: 14px;
	}

	.geography-project-card__industry {
		min-height: 32px;
		font-size: 12px;
	}
}

.news-grid {
	display: grid;
	grid-template-columns: 1.6fr .8fr;
	gap: 24px;
}

.news-card {
	position: relative;
	display: flex;
	min-height: 250px;
	padding: 30px;
	border: 1px solid #b7dff0;
	flex-direction: column;
	justify-content: flex-end;
	color: var(--color-navy);
	isolation: isolate;
}

.news-card--image {
	color: #fff;
}

.news-card--large {
	min-height: 620px;
	grid-row: span 2;
}

.news-card time {
	margin-bottom: 18px;
	color: var(--color-cyan);
	font-size: 13px;
	font-weight: 700;
}

.news-card h3 {
	margin: 0;
	font-size: clamp(21px, 2vw, 34px);
	line-height: 1.12;
	text-transform: uppercase;
}

.partners-section {
	position: relative;
	min-height: clamp(480px, 60.2svh, 650px);
	padding: clamp(48px, 5vw, 86px) 0 0;
	overflow: hidden;
	background: #071a36;
	color: #fff;
	isolation: isolate;
}

.partners-section::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(0deg, rgba(46, 89, 137, .54), rgba(20, 31, 72, .54));
	pointer-events: none;
}

.partners-section__bg,
.partners-section__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform: scaleX(-1);
}

.partners-section__bg {
	z-index: -3;
	background-image: url("/local/templates/alpha_energy/assets/images/partners/partners-bg.webp");
	background-position: center;
	background-size: cover;
}

.partners-section__video {
	z-index: -2;
	display: block;
	object-fit: cover;
	pointer-events: none;
}

.partners-section__inner {
	position: relative;
	z-index: 2;
}

.partners-section h2 {
	max-width: 990px;
	margin: 0;
	color: #fff;
	font-size: clamp(42px, 4.4vw, 70px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0;
}

.partners-carousel {
	position: relative;
	z-index: 2;
	width: 100%;
	margin-top: clamp(48px, 7vw, 92px);
	overflow: hidden;
	background: #fff;
}

.partners-carousel__track {
	display: flex;
	width: max-content;
	animation: partners-marquee 28s linear infinite;
	will-change: transform;
}

.partners-carousel:hover .partners-carousel__track {
	animation-play-state: paused;
}

.partners-carousel__item {
	display: flex;
	width: clamp(180px, 17.4vw, 334px);
	height: clamp(84px, 7.9vw, 152px);
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	padding: 24px 48px;
	border-right: 1px solid rgba(34, 135, 200, .26);
	background: #fff;
}

.partners-carousel__item img {
	display: block;
	max-width: 100%;
	max-height: 72px;
	object-fit: contain;
}

@keyframes partners-marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

.is-inner.is-projects-page .site-main {
	width: auto;
	max-width: none;
	margin-inline: 0;
	padding-top: 80px;
	padding-bottom: 0;
	background: linear-gradient(176.87deg, #fff .21%, #f5fbfe 33.14%, #f2fafe 46.97%, #eef9fe 71.22%, #dff5ff 97.11%);
}

.projects-page {
	min-height: calc(100svh - 80px);
	padding: clamp(56px, 3.55vw, 68px) 0 clamp(88px, 7.8vw, 150px);
	color: var(--color-text);
}

.projects-page__breadcrumbs {
	display: flex;
	margin-bottom: clamp(48px, 4.2vw, 80px);
	align-items: center;
	gap: 8px;
	color: #90d6ea;
	font-size: clamp(16px, 1.15vw, 22px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
}

.projects-page__back-icon {
	position: relative;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
}

.projects-page__back-icon::before {
	position: absolute;
	top: 6px;
	left: 8px;
	width: 10px;
	height: 10px;
	border-bottom: 2px solid currentColor;
	border-left: 2px solid currentColor;
	content: "";
	transform: rotate(45deg);
}

.projects-page__breadcrumbs a {
	transition: color .2s ease;
}

.projects-page__breadcrumbs a:hover {
	color: var(--color-blue);
}

.projects-page h1 {
	margin: 0 0 clamp(42px, 2.5vw, 48px);
	color: var(--color-navy);
	font-size: clamp(42px, 4.8vw, 70px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0;
}

.projects-featured {
	position: relative;
	display: block;
	margin-bottom: clamp(70px, 4.2vw, 80px);
	padding: clamp(18px, 1.62vw, 31px) clamp(18px, 1.62vw, 31px) 25px;
	color: var(--color-text);
	transition: transform .25s ease;
}

.projects-featured::before,
.projects-featured::after {
	position: absolute;
	top: clamp(18px, 1.62vw, 31px);
	bottom: 25px;
	width: 1px;
	background: linear-gradient(to bottom, transparent 0%, rgba(144, 214, 234, .42) 10%, rgba(34, 135, 200, .72) 50%, rgba(144, 214, 234, .42) 90%, transparent 100%);
	box-shadow: 0 0 12px rgba(144, 214, 234, .42);
	content: "";
	pointer-events: none;
}

.projects-featured::before {
	left: 0;
}

.projects-featured::after {
	right: 0;
}

.projects-featured:hover {
	transform: translateY(-4px);
}

.projects-featured__slide {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.projects-featured__slide[hidden] {
	display: none;
}

.projects-featured__image,
.projects-card__image {
	position: relative;
	display: block;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(34, 135, 200, .22), rgba(0, 169, 207, .08)),
		var(--color-ice);
}

.projects-featured__image {
	--projects-corner-size: min(28%, 228px);
	aspect-ratio: 1522 / 826;
	min-height: 360px;
}

.projects-featured__image::before,
.projects-featured__image::after {
	position: absolute;
	right: 0;
	bottom: 0;
	content: "";
	pointer-events: none;
	z-index: 1;
}

.projects-featured__image::before {
	width: var(--projects-corner-size);
	height: var(--projects-corner-size);
	background: rgba(0, 169, 207, .72);
	clip-path: polygon(50% 50%, 100% 0, 100% 100%);
}

.projects-featured__image::after {
	width: var(--projects-corner-size);
	height: var(--projects-corner-size);
	background: rgba(0, 58, 128, .58);
	clip-path: polygon(0 100%, 50% 50%, 100% 100%);
}

.projects-featured__image img,
.projects-card__image img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .45s ease;
}

.projects-featured__image .projects-pill--light {
	z-index: 2;
}

.projects-featured:hover img,
.projects-card:hover img {
	transform: scale(1.035);
}

.projects-featured__body {
	display: grid;
	gap: 14px;
}

.projects-featured__title {
	color: var(--color-text);
	font-size: clamp(28px, 2.6vw, 40px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: uppercase;
}

.projects-featured__body .projects-featured__title {
	margin: 0;
}

.projects-featured--detail:hover {
	transform: none;
}

.projects-featured--detail::before,
.projects-featured--detail::after {
	display: none;
}

.projects-featured--detail .projects-featured__body {
	padding-right: 0;
}

.projects-featured--detail .projects-featured__title {
	color: #000;
}

.projects-featured--detail .projects-detail {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.projects-featured__city,
.projects-card__city {
	color: var(--color-blue);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0;
}

.projects-featured__city {
	font-size: clamp(20px, 1.55vw, 28px);
}

.projects-featured__text,
.projects-card__text {
	max-width: 760px;
	margin: 0;
	color: #868686;
	font-size: 16px;
	line-height: 20px;
	letter-spacing: 0;
}

.projects-featured__more,
.projects-card__more {
	display: inline-flex;
	width: max-content;
	max-width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: #005d92;
	cursor: pointer;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: 0;
	text-align: left;
}

.projects-featured__more:hover,
.projects-card__more:hover {
	color: var(--color-cyan);
}

.projects-featured__more {
	font-size: clamp(18px, 1.35vw, 24px);
}

.projects-featured__nav {
	position: absolute;
	right: clamp(18px, 1.62vw, 31px);
	bottom: 55px;
	display: flex;
	width: min(328px, 42vw);
	flex-direction: column;
	align-items: flex-end;
	gap: 32px;
}

.projects-featured__steps {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
}

.projects-featured__step {
	display: inline-flex;
	min-width: 0;
	padding: 0;
	border: 0;
	align-items: center;
	gap: 14px;
	background: transparent;
	color: #90d6ea;
	cursor: pointer;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: 0;
}

.projects-featured__step::after {
	display: block;
	width: 57px;
	height: 0;
	border-top: 2.5px solid #cbecfb;
	content: "";
	transition: width .2s ease, border-color .2s ease;
}

.projects-featured__step.is-active {
	color: var(--color-blue);
}

.projects-featured__step.is-active::after {
	width: 114px;
	border-top-color: var(--color-blue);
}

.projects-featured__arrows {
	display: flex;
	align-items: center;
	gap: 20px;
}

.projects-featured__arrow,
.projects-pagination__button {
	display: inline-flex;
	width: 45px;
	height: 45px;
	padding: 0;
	border: 1.7px solid #90d6ea;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: #90d6ea;
	cursor: pointer;
	transition: color .2s ease, border-color .2s ease, opacity .2s ease;
}

.projects-featured__arrow:hover,
.projects-pagination__button:hover {
	border-color: var(--color-cyan);
	color: var(--color-cyan);
}

.projects-featured__arrow span,
.projects-pagination__button span {
	display: block;
	width: 29px;
	height: 24px;
	background: currentColor;
	-webkit-mask: url("/local/templates/alpha_energy/assets/images/arrow-button.png") center / contain no-repeat;
	mask: url("/local/templates/alpha_energy/assets/images/arrow-button.png") center / contain no-repeat;
}

.projects-featured__arrow--prev span,
.projects-pagination__button--prev span {
	transform: rotate(180deg);
}

.projects-filter {
	display: flex;
	margin-bottom: clamp(42px, 5vw, 78px);
	flex-wrap: wrap;
	gap: 18px;
}

.projects-filter-control {
	margin-bottom: clamp(34px, 4.1vw, 78px);
}

.projects-filter-select {
	position: relative;
	width: min(381px, 100%);
}

.projects-filter-select::after {
	position: absolute;
	top: calc(50% - 7px);
	right: 28px;
	width: 12px;
	height: 12px;
	border-right: 1.5px solid var(--color-cyan);
	border-bottom: 1.5px solid var(--color-cyan);
	content: "";
	pointer-events: none;
	transform: rotate(45deg);
}

.projects-filter-select select {
	width: 100%;
	min-height: 74px;
	padding: 25px 70px 25px 25px;
	border: 1px solid var(--color-cyan);
	border-radius: 0;
	appearance: none;
	background: var(--color-ice);
	color: var(--color-cyan);
	cursor: pointer;
	font-family: var(--font-primary);
	font-size: 18px;
	font-weight: 600;
	line-height: 20px;
}

.projects-pill {
	display: inline-flex;
	min-height: 38px;
	padding: 8px 19px;
	border: 1px solid var(--color-blue);
	border-radius: 26px;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: var(--color-blue);
	font-size: clamp(14px, 1.05vw, 20px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

.projects-pill:hover,
.projects-pill.is-active {
	border-color: var(--color-blue);
	background: var(--color-blue);
	color: #fff;
}

.projects-pill--light,
.projects-pill--light:hover {
	position: absolute;
	top: 15px;
	left: 15px;
	border: 0;
	background: rgba(242, 251, 255, .92);
	color: #005d92;
	cursor: default;
	backdrop-filter: blur(18px);
}

.projects-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(40px, 2.5vw, 48px) 20px;
}

.projects-card {
	position: relative;
	display: flex;
	min-height: 740px;
	min-width: 0;
	padding: 20px 25px 28px;
	flex-direction: column;
	gap: 12px;
	background: transparent;
	color: var(--color-text);
	transition: transform .25s ease, background-color .25s ease;
}

.projects-card::before,
.projects-card::after {
	content: "";
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 0;
	width: 1px;
	background: linear-gradient(
		to bottom,
		rgba(34, 135, 200, 0),
		rgba(34, 135, 200, .22) 15%,
		rgba(34, 135, 200, .22) 85%,
		rgba(34, 135, 200, 0)
	);
	pointer-events: none;
}

.projects-card::before {
	left: 0;
}

.projects-card::after {
	right: 0;
}

@media (min-width: 1181px) {
	.news-page .news-card {
		border: 0;
	}

	.news-page .news-card::before,
	.news-page .news-card::after {
		content: "";
		position: absolute;
		z-index: 2;
		top: 0;
		bottom: 0;
		width: 1px;
		background: linear-gradient(
			to bottom,
			rgba(34, 135, 200, 0),
			rgba(34, 135, 200, .22) 15%,
			rgba(34, 135, 200, .22) 85%,
			rgba(34, 135, 200, 0)
		);
		pointer-events: none;
	}

	.news-page .news-card::before {
		left: 0;
	}

	.news-page .news-card::after {
		right: 0;
	}
}

.projects-card:hover {
	background: rgba(255, 255, 255, .62);
	transform: translateY(-4px);
}

.projects-card[hidden] {
	display: none;
}

.projects-card__image {
	width: 100%;
	aspect-ratio: 465 / 264;
}

.projects-card__title {
	color: var(--color-text);
	font-size: clamp(21px, 1.33vw, 25.5px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: uppercase;
}

.projects-card__city {
	font-size: 18px;
}

.projects-card__works {
	display: flex;
	margin-top: 2px;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.projects-card__works span {
	display: inline-flex;
	max-width: 100%;
	min-height: 32px;
	padding: 6px 8px;
	border: 1px solid #90d6ea;
	align-items: center;
	justify-content: flex-start;
	background: transparent;
	color: var(--color-cyan);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-align: left;
}

.projects-card__more {
	margin-top: 4px;
	font-size: 18px;
}

.projects-pagination {
	display: flex;
	margin-top: clamp(54px, 4.2vw, 80px);
	align-items: center;
	gap: 18px;
	color: var(--color-cyan);
}

.projects-pagination[hidden] {
	display: none;
}

.projects-pagination__current {
	min-width: 12px;
	color: var(--color-cyan);
	font-size: 25.5px;
	font-weight: 500;
	line-height: 1.12;
	text-align: center;
}

.projects-pagination__button {
	border-color: var(--color-cyan);
	color: var(--color-cyan);
}

.projects-pagination__button:disabled {
	border-color: #90d6ea;
	color: #90d6ea;
	cursor: default;
	opacity: .72;
}

.projects-pagination__button:disabled:hover {
	border-color: #90d6ea;
	color: #90d6ea;
}

.projects-detail {
	display: block;
	margin-top: 10px;
	padding-top: 18px;
	border-top: 1px solid rgba(144, 214, 234, .75);
	color: #4f5b66;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0;
}

.projects-detail[hidden] {
	display: none;
}

.projects-detail p {
	margin: 0 0 12px;
}

.projects-detail p:last-child {
	margin-bottom: 0;
}

.projects-featured--detail .projects-detail {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.projects-featured--detail .alpha-project-page {
	display: grid;
	gap: clamp(42px, 3.16vw, 50px);
	color: #005d92;
}

.projects-featured--detail .alpha-project-facts {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 100%;
	aspect-ratio: 1584 / 328;
	min-height: 260px;
	background: #cbecfb;
	overflow: hidden;
}

.projects-featured--detail .alpha-project-facts::before {
	position: absolute;
	inset: 0 auto 0 0;
	width: 58.5%;
	background: #1d4383;
	clip-path: polygon(0 0, 100% 0, calc(100% - clamp(120px, 13.9vw, 220px)) 100%, 0 100%);
	content: "";
	z-index: 0;
}

.projects-featured--detail .alpha-project-facts__item {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(36px, 4.5vw, 72px) clamp(28px, 2.5vw, 40px);
}

.projects-featured--detail .alpha-project-facts__item--right {
	padding-left: clamp(80px, 9.5vw, 150px);
}

.projects-featured--detail .alpha-project-facts__label {
	margin-bottom: 8px;
	font-size: clamp(18px, 1.55vw, 24.5px);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: 0;
}

.projects-featured--detail .alpha-project-facts__value {
	max-width: 440px;
	font-size: clamp(30px, 2.55vw, 40px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: uppercase;
}

.projects-featured--detail .alpha-project-facts__item--left .alpha-project-facts__label {
	color: #cbecfb;
}

.projects-featured--detail .alpha-project-facts__item--left .alpha-project-facts__value {
	color: #fff;
}

.projects-featured--detail .alpha-project-facts__item--right .alpha-project-facts__label {
	color: #00a9cf;
}

.projects-featured--detail .alpha-project-facts__item--right .alpha-project-facts__value {
	color: #1d4383;
}

.projects-featured--detail .alpha-project-work,
.projects-featured--detail .alpha-project-text {
	max-width: 1320px;
}

.projects-featured--detail .alpha-project-work__title,
.projects-featured--detail .alpha-project-text__title {
	margin: 0 0 20px;
	color: #1d4383;
	font-size: clamp(26px, 2.05vw, 32px);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: 0;
}

.projects-featured--detail .alpha-project-work__tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 10px;
	margin-bottom: 26px;
	text-align: left;
}

.projects-featured--detail .alpha-project-work__tag {
	display: inline-flex;
	min-height: 35px;
	align-items: center;
	justify-content: flex-start;
	padding: 6px 9px;
	border: 1px solid #90d6ea;
	background: transparent;
	color: #00a9cf;
	font-size: clamp(14px, 1.1vw, 17px);
	font-weight: 600;
	line-height: 1.25;
	text-align: left;
}

.projects-featured--detail .alpha-project-work__text,
.projects-featured--detail .alpha-project-text__body {
	margin: 0;
	color: #005d92;
	font-size: clamp(18px, 1.55vw, 24.5px);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0;
}

.projects-featured--detail .alpha-project-mosaic {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	width: 100%;
	aspect-ratio: 1584 / 656;
	min-height: 520px;
	overflow: hidden;
}

.projects-featured--detail .alpha-project-mosaic__tile {
	display: flex;
	min-width: 0;
	min-height: 0;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	padding: clamp(48px, 5.55vw, 88px) clamp(28px, 2.55vw, 40px);
}

.projects-featured--detail .alpha-project-mosaic__tile--blue {
	background: #2287c8;
}

.projects-featured--detail .alpha-project-mosaic__tile--light {
	background: #cbecfb;
}

.projects-featured--detail .alpha-project-mosaic__tile--navy {
	padding: 0;
	background: #1d4383;
}

.projects-featured--detail .alpha-project-mosaic__tile--wide-image {
	grid-column: span 2;
	padding: 0;
	background: #cbecfb;
}

.projects-featured--detail .alpha-project-mosaic__tile--cyan {
	padding: 0 clamp(28px, 2.55vw, 40px);
	background: #00a9cf;
}

.projects-featured--detail .alpha-project-mosaic__image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	transform: none !important;
	transition: none !important;
}

.projects-featured--detail .alpha-project-mosaic__tile--navy .alpha-project-mosaic__image {
	object-position: center bottom;
}

.projects-featured--detail .alpha-project-mosaic__tile--wide-image .alpha-project-mosaic__image {
	object-position: center;
}

.projects-featured--detail:hover .alpha-project-mosaic__image {
	transform: none !important;
}

.projects-featured--detail .alpha-project-mosaic__number {
	margin-bottom: 16px;
	font-size: clamp(64px, 5.7vw, 90px);
	font-weight: 600;
	line-height: 1.05;
}

.projects-featured--detail .alpha-project-mosaic__tile--blue .alpha-project-mosaic__number {
	color: #cbecfb;
}

.projects-featured--detail .alpha-project-mosaic__tile--light .alpha-project-mosaic__number {
	color: #2287c8;
}

.projects-featured--detail .alpha-project-mosaic__caption {
	max-width: 430px;
	font-size: clamp(20px, 1.55vw, 24.5px);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: 0;
}

.projects-featured--detail .alpha-project-mosaic__tile--blue .alpha-project-mosaic__caption {
	color: #fff;
}

.projects-featured--detail .alpha-project-mosaic__tile--light .alpha-project-mosaic__caption {
	color: #1d4383;
}

.projects-featured--detail .alpha-project-mosaic__big-text {
	max-width: 493px;
	color: #cbecfb;
	font-size: clamp(28px, 2.55vw, 40px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: uppercase;
}

.projects-featured--detail .alpha-project-mosaic-grid {
	display: grid;
	grid-template-columns: repeat(var(--alpha-mosaic-columns, 3), minmax(0, 1fr));
	grid-template-rows: repeat(var(--alpha-mosaic-rows, 2), minmax(0, 1fr));
	width: 100%;
	height: var(--alpha-mosaic-min-height, 520px);
	min-height: 180px;
	gap: var(--alpha-mosaic-gap, 0);
	overflow: hidden;
}

.projects-featured--detail .alpha-project-mosaic-grid__cell {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 0;
	flex-direction: column;
	overflow: hidden;
	padding: clamp(28px, 3.2vw, 56px) clamp(22px, 2.3vw, 40px);
	contain: layout paint;
	overflow-wrap: anywhere;
	word-break: normal;
}

.projects-featured--detail .alpha-project-mosaic-grid__cell--text {
	padding: clamp(24px, 2vw, 36px);
}

.projects-featured--detail .alpha-project-mosaic-grid__cell--image {
	padding: 0;
}

.projects-featured--detail .alpha-project-mosaic-grid__cell--media_text {
	gap: clamp(16px, 2vw, 32px);
}

.projects-featured--detail .alpha-project-mosaic-grid__image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	min-height: 0;
	object-fit: cover;
	transform: none !important;
	transition: none !important;
}

.projects-featured--detail .alpha-project-mosaic-grid__image--contain {
	object-fit: contain;
}

.projects-featured--detail .alpha-project-mosaic-grid__cell--media_text .alpha-project-mosaic-grid__image,
.projects-featured--detail .alpha-project-mosaic-grid__cell--text .alpha-project-mosaic-grid__image,
.projects-featured--detail .alpha-project-mosaic-grid__cell--stat .alpha-project-mosaic-grid__image {
	width: auto;
	height: auto;
	max-width: min(100%, 360px);
	max-height: 220px;
	margin-top: clamp(14px, 1.6vw, 24px);
	object-fit: contain;
}

.projects-featured--detail:hover .alpha-project-mosaic-grid__image {
	transform: none !important;
}

.projects-featured--detail .alpha-project-mosaic-grid__content {
	display: grid;
	gap: 10px;
	width: 100%;
	min-width: 0;
	max-width: 560px;
}

.projects-featured--detail .alpha-project-mosaic-grid__number {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin-bottom: clamp(8px, 1vw, 16px);
	color: inherit;
	font-size: var(--alpha-mosaic-number-size, clamp(48px, 5.7vw, 90px));
	font-weight: 600;
	line-height: 1.05;
	overflow-wrap: anywhere;
}

.projects-featured--detail .alpha-project-mosaic-grid__title {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	color: inherit;
	font-size: var(--alpha-mosaic-title-size, clamp(24px, 2.55vw, 40px));
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.projects-featured--detail .alpha-project-mosaic-grid__cell--stat .alpha-project-mosaic-grid__title {
	font-size: var(--alpha-mosaic-title-size, clamp(18px, 1.55vw, 24.5px));
	font-weight: 600;
	line-height: 1.16;
	text-transform: none;
}

.projects-featured--detail .alpha-project-mosaic-grid__text {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	color: inherit;
	font-size: var(--alpha-mosaic-text-size, clamp(18px, 1.55vw, 24.5px));
	font-weight: 600;
	line-height: 1.16;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.projects-featured--detail .alpha-project-mosaic-grid__caption {
	position: absolute;
	right: clamp(18px, 2vw, 32px);
	bottom: clamp(18px, 2vw, 32px);
	left: clamp(18px, 2vw, 32px);
	display: grid;
	gap: 6px;
	padding: clamp(12px, 1.4vw, 20px);
	background: rgba(29, 67, 131, .82);
	color: #fff;
}

.projects-featured--detail .alpha-project-mosaic-grid__caption strong,
.projects-featured--detail .alpha-project-mosaic-grid__caption span {
	min-width: 0;
	max-width: 100%;
	color: inherit;
	overflow-wrap: anywhere;
}

@media (max-width: 767px) {
	.projects-featured--detail .alpha-project-mosaic-grid {
		height: auto;
		min-height: 0;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
	}

	.projects-featured--detail .alpha-project-mosaic-grid__cell {
		min-height: clamp(240px, 75vw, 420px);
		grid-column: 1 !important;
		grid-row: auto !important;
		padding: clamp(24px, 8vw, 40px);
	}

	.projects-featured--detail .alpha-project-mosaic-grid__cell--image {
		padding: 0;
	}
}

.projects-featured--detail .alpha-project-image {
	margin: 0;
	overflow: hidden;
	background: #cbecfb;
}

.projects-featured--detail .alpha-project-image img {
	display: block;
	width: 100%;
	height: auto;
	transform: none !important;
	transition: none !important;
}

.projects-featured--detail .alpha-project-image figcaption {
	padding: 12px 0 0;
	color: #005d92;
	font-size: 15px;
	line-height: 1.35;
}

.projects-featured--detail .alpha-project-quote {
	margin: 0;
	padding: clamp(28px, 3vw, 48px);
	background: #2287c8;
	color: #fff;
}

.projects-featured--detail .alpha-project-quote p {
	margin: 0;
	color: inherit;
	font-size: clamp(22px, 2.1vw, 34px);
	font-weight: 600;
	line-height: 1.18;
}

.projects-featured--detail .alpha-project-quote footer {
	display: grid;
	margin-top: 24px;
	gap: 4px;
	color: #cbecfb;
	font-size: 16px;
	line-height: 1.3;
}

/* Project page visual builder: reusable project-direction blocks. */
.projects-featured--detail .alpha-project-hero-block,
.projects-featured--detail .alpha-project-equipment,
.projects-featured--detail .alpha-project-engineering-systems,
.projects-featured--detail .alpha-project-cta,
.projects-featured--detail .alpha-project-collection {
	box-sizing: border-box;
}

.projects-featured--detail .alpha-project-hero-block *,
.projects-featured--detail .alpha-project-equipment *,
.projects-featured--detail .alpha-project-engineering-systems *,
.projects-featured--detail .alpha-project-cta *,
.projects-featured--detail .alpha-project-collection * {
	box-sizing: border-box;
}

.projects-featured--detail .alpha-project-hero-block {
	display: grid;
	grid-template-columns: minmax(0, .95fr) minmax(520px, 1.05fr);
	min-height: 620px;
	background: #f2fbff;
}

.projects-featured--detail .alpha-project-hero-block__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 28px;
	padding: 96px clamp(48px, 6vw, 118px);
}

.projects-featured--detail .alpha-project-hero-block h2,
.projects-featured--detail .alpha-project-equipment h2,
.projects-featured--detail .alpha-project-engineering-systems h2,
.projects-featured--detail .alpha-project-cta h2,
.projects-featured--detail .alpha-project-collection h2 {
	margin: 0;
	font-family: "Manrope", Arial, sans-serif;
	font-size: clamp(40px, 3.4vw, 66px);
	font-weight: 700;
	line-height: 1.06;
	letter-spacing: -.025em;
	color: #1d4383;
}

.projects-featured--detail .alpha-project-hero-block p,
.projects-featured--detail .alpha-project-equipment p,
.projects-featured--detail .alpha-project-engineering-systems p,
.projects-featured--detail .alpha-project-cta p,
.projects-featured--detail .alpha-project-collection p {
	margin: 0;
	font-family: "Manrope", Arial, sans-serif;
	font-size: clamp(18px, 1.25vw, 24px);
	font-weight: 500;
	line-height: 1.45;
	color: #365478;
}

.projects-featured--detail .alpha-project-hero-block__media {
	min-height: 620px;
	overflow: hidden;
	clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
}

.projects-featured--detail .alpha-project-hero-block__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.projects-featured--detail .alpha-project-collection {
	padding: clamp(80px, 8vw, 150px) clamp(28px, 6vw, 120px);
	background: #fff;
}

.projects-featured--detail .alpha-project-collection h2 {
	margin-bottom: clamp(42px, 5vw, 76px);
}

.projects-featured--detail .alpha-project-collection__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1px;
	background: #cfe2ee;
}

.projects-featured--detail .alpha-project-collection__item {
	display: flex;
	min-height: 260px;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	padding: clamp(28px, 3vw, 52px);
	background: #f2fbff;
}

.projects-featured--detail .alpha-project-collection__item strong {
	font-family: "Manrope", Arial, sans-serif;
	font-size: clamp(23px, 2vw, 34px);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -.015em;
	color: #1d4383;
}

.projects-featured--detail .alpha-project-collection__item p {
	font-size: clamp(15px, 1vw, 19px);
	line-height: 1.45;
}

.projects-featured--detail .alpha-project-collection--parameters,
.projects-featured--detail .alpha-project-collection--results {
	background: #f2fbff;
}

.projects-featured--detail .alpha-project-collection--parameters .alpha-project-collection__grid,
.projects-featured--detail .alpha-project-collection--results .alpha-project-collection__grid {
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.projects-featured--detail .alpha-project-collection--parameters .alpha-project-collection__item,
.projects-featured--detail .alpha-project-collection--results .alpha-project-collection__item {
	align-items: center;
	min-height: 230px;
	text-align: center;
	background: #fff;
}

.projects-featured--detail .alpha-project-collection--parameters .alpha-project-collection__item strong,
.projects-featured--detail .alpha-project-collection--results .alpha-project-collection__item strong {
	font-size: clamp(38px, 4vw, 74px);
	color: #2287c8;
}

.projects-featured--detail .alpha-project-collection--steps .alpha-project-collection__item {
	justify-content: flex-start;
}

.projects-featured--detail .alpha-project-collection__number {
	font-family: "Manrope", Arial, sans-serif;
	font-size: clamp(32px, 3vw, 52px);
	font-weight: 700;
	line-height: 1;
	color: #90d6ea;
}

.projects-featured--detail .alpha-project-equipment {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 680px;
	background: #1d4383;
}

.projects-featured--detail .alpha-project-equipment__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 28px;
	padding: clamp(64px, 7vw, 130px);
}

.projects-featured--detail .alpha-project-equipment h2,
.projects-featured--detail .alpha-project-equipment p {
	color: #fff;
}

.projects-featured--detail .alpha-project-equipment ul {
	display: grid;
	gap: 14px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.projects-featured--detail .alpha-project-equipment li {
	position: relative;
	padding-left: 24px;
	font-family: "Manrope", Arial, sans-serif;
	font-size: clamp(15px, 1.05vw, 20px);
	font-weight: 600;
	line-height: 1.35;
	color: #cbecfb;
}

.projects-featured--detail .alpha-project-equipment li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .55em;
	width: 10px;
	height: 2px;
	background: #90d6ea;
}

.projects-featured--detail .alpha-project-equipment__media {
	display: grid;
	min-height: 680px;
	place-items: center;
	overflow: hidden;
	background: #cbecfb;
}

.projects-featured--detail .alpha-project-equipment__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.projects-featured--detail .alpha-project-engineering-systems {
	position: relative;
	isolation: isolate;
	display: grid;
	min-height: 720px;
	overflow: hidden;
	place-items: center;
	padding: clamp(80px, 8vw, 150px) clamp(28px, 10vw, 190px);
	background: #cbecfb;
}

.projects-featured--detail .alpha-project-engineering-systems::before,
.projects-featured--detail .alpha-project-engineering-systems::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}

.projects-featured--detail .alpha-project-engineering-systems::before {
	background: #90d6ea;
	clip-path: polygon(0 0, 18% 0, 44% 100%, 0 100%);
}

.projects-featured--detail .alpha-project-engineering-systems::after {
	background: #f2fbff;
	clip-path: polygon(23% 0, 80% 0, 65% 50%, 80% 100%, 23% 100%, 39% 50%);
}

.projects-featured--detail .alpha-project-engineering-systems__copy {
	width: min(100%, 980px);
}

.projects-featured--detail .alpha-project-engineering-systems h2 {
	margin-bottom: 32px;
	color: #2287c8;
}

.projects-featured--detail .alpha-project-engineering-systems__child {
	width: min(100%, 980px);
	margin-top: 34px;
	border-left: 4px solid #2287c8;
	background: rgba(255, 255, 255, .78);
}

.projects-featured--detail .alpha-project-engineering-systems__child > * {
	margin: 0;
}

.projects-featured--detail .alpha-project-engineering-systems__child .alpha-project-text,
.projects-featured--detail .alpha-project-engineering-systems__child .alpha-project-quote,
.projects-featured--detail .alpha-project-engineering-systems__child .alpha-project-collection {
	padding: clamp(24px, 3vw, 48px);
	background: transparent;
}

.projects-featured--detail .alpha-project-engineering-systems__child .alpha-project-text__title,
.projects-featured--detail .alpha-project-engineering-systems__child .alpha-project-collection h2 {
	font-size: clamp(24px, 2vw, 36px);
}

.projects-featured--detail .alpha-project-cta {
	display: flex;
	min-height: 360px;
	align-items: center;
	justify-content: space-between;
	gap: 60px;
	padding: clamp(70px, 7vw, 130px) clamp(32px, 7vw, 140px);
	background: #90d6ea;
}

.projects-featured--detail .alpha-project-cta > div {
	display: grid;
	max-width: 1000px;
	gap: 22px;
}

.projects-featured--detail .alpha-project-cta a {
	flex: 0 0 auto;
	padding: 18px 30px;
	background: #1d4383;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	color: #fff;
	transition: background .2s ease, color .2s ease;
}

.projects-featured--detail .alpha-project-cta a:hover,
.projects-featured--detail .alpha-project-cta a:focus-visible {
	background: #2287c8;
	outline: none;
}

.projects-featured__slide.is-open,
.projects-card.is-open {
	background: rgba(255, 255, 255, .7);
}

.projects-empty {
	max-width: 720px;
	margin: clamp(24px, 4vw, 54px) 0 0;
	padding: 28px 32px;
	border: 1px solid #90d6ea;
	background: rgba(242, 251, 255, .76);
	color: var(--color-navy);
	font-size: clamp(18px, 1.2vw, 22px);
	font-weight: 600;
	line-height: 1.35;
}

.projects-empty[hidden] {
	display: none;
}

.is-inner.is-news-page .site-main {
	width: auto;
	max-width: none;
	margin-inline: 0;
	padding-top: 80px;
	padding-bottom: 0;
	background: linear-gradient(177deg, #fff 0%, #f5fbfe 33%, #eef9fe 72%, #dff5ff 100%);
}

.news-page,
.news-detail-page {
	min-height: calc(100svh - 80px);
	padding: clamp(58px, 6vw, 104px) 0 clamp(80px, 8vw, 150px);
}

.news-page__breadcrumbs {
	display: flex;
	margin-bottom: clamp(42px, 5vw, 82px);
	align-items: center;
	gap: 10px;
	color: #90d6ea;
	font-size: clamp(16px, 1.15vw, 22px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
}

.news-page__breadcrumbs a {
	transition: color .2s ease;
}

.news-page__breadcrumbs a:hover {
	color: var(--color-blue);
}

.news-page h1,
.news-detail h1 {
	margin: 0 0 clamp(38px, 4vw, 70px);
	color: var(--color-navy);
	font-size: clamp(42px, 4.8vw, 70px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0;
}

.news-featured {
	display: flex;
	margin-bottom: clamp(64px, 7vw, 96px);
	padding: clamp(18px, 1.7vw, 31px);
	flex-direction: column;
	gap: 20px;
	color: var(--color-text);
	transition: transform .25s ease, background-color .25s ease;
}

.news-featured:hover,
.news-card:hover {
	background: rgba(255, 255, 255, .62);
	transform: translateY(-4px);
}

.news-featured__meta,
.news-card__meta,
.news-detail__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.news-featured time,
.news-card time,
.news-detail time {
	color: var(--color-blue);
	font-size: clamp(18px, 1.25vw, 24px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	text-transform: uppercase;
}

.news-pill {
	display: inline-flex;
	min-height: 38px;
	padding: 8px 19px;
	border: 1px solid var(--color-blue);
	border-radius: 29px;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: var(--color-blue);
	font-size: clamp(14px, 1.05vw, 20px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0;
	text-align: center;
	text-transform: uppercase;
}

button.news-pill {
	cursor: pointer;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

button.news-pill:hover,
.news-pill.is-active {
	border-color: var(--color-blue);
	background: var(--color-blue);
	color: #fff;
}

.news-featured__image,
.news-card__image {
	display: block;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(34, 135, 200, .22), rgba(0, 169, 207, .08)),
		var(--color-ice);
}

.news-featured__image {
	aspect-ratio: 1522 / 793;
	min-height: 360px;
}

.news-card__image {
	width: 100%;
	aspect-ratio: 455 / 264;
}

.news-featured__image img,
.news-card__image img,
.news-detail__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .45s ease;
}

.news-featured:hover img,
.news-card:hover img {
	transform: scale(1.035);
}

.news-featured__title {
	color: var(--color-text);
	font-size: clamp(28px, 2.6vw, 40px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: uppercase;
}

.news-featured__more,
.news-card__more,
.news-back-link {
	display: inline-flex;
	width: max-content;
	max-width: 100%;
	color: #005d92;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: 0;
	transition: color .2s ease;
}

.news-featured__more {
	font-size: clamp(18px, 1.35vw, 24px);
}

.news-card__more {
	margin-top: auto;
	font-size: 18px;
}

.news-featured__more:hover,
.news-card__more:hover,
.news-back-link:hover {
	color: var(--color-cyan);
}

.news-filter {
	display: flex;
	margin-bottom: clamp(42px, 5vw, 78px);
	flex-wrap: wrap;
	gap: 18px;
}

.news-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(22px, 2vw, 30px) 20px;
}

.news-card {
	display: flex;
	min-width: 0;
	padding: 18px 30px 28px;
	flex-direction: column;
	gap: 15px;
	color: var(--color-text);
	transition: transform .25s ease, background-color .25s ease;
}

.news-card[hidden] {
	display: none;
}

.news-card__title {
	color: var(--color-text);
	font-size: clamp(21px, 1.45vw, 25px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: uppercase;
}

.news-empty {
	max-width: 720px;
	margin: clamp(24px, 4vw, 54px) 0 0;
	padding: 28px 32px;
	border: 1px solid #90d6ea;
	background: rgba(242, 251, 255, .76);
	color: var(--color-navy);
	font-size: clamp(18px, 1.2vw, 22px);
	font-weight: 600;
	line-height: 1.35;
}

.news-empty[hidden] {
	display: none;
}

.news-detail {
	display: grid;
	gap: clamp(24px, 3vw, 42px);
}

.news-detail h1 {
	max-width: 1180px;
	margin-bottom: 0;
}

.news-detail__meta {
	justify-content: flex-start;
}

.news-detail__image {
	aspect-ratio: 1522 / 793;
	min-height: 360px;
}

.news-detail__content {
	max-width: 980px;
	color: #4f5b66;
	font-size: clamp(17px, 1.1vw, 20px);
	line-height: 1.55;
	letter-spacing: 0;
}

.news-detail__content p {
	margin: 0 0 18px;
}

.news-detail__content p:last-child {
	margin-bottom: 0;
}

.news-back-link {
	font-size: clamp(18px, 1.35vw, 24px);
}

.site-footer {
	padding: 60px 0;
	background: #102d60;
	color: #fff;
}

.site-footer__inner {
	display: grid;
	width: min(var(--container), calc(100% - var(--gutter) * 2));
	margin-inline: auto;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr);
	align-items: center;
	justify-items: center;
	text-align: center;
	gap: 30px;
}

.site-footer p {
	margin: 0;
	color: rgba(255, 255, 255, .68);
	font-size: 13px;
}

.site-footer__text {
	display: grid;
	justify-items: center;
	gap: 10px;
}

.site-footer__text a {
	width: fit-content;
	color: rgba(255, 255, 255, .86);
	font-size: 13px;
	font-weight: 600;
	transition: color .2s ease;
}

.site-footer__text a:hover {
	color: var(--color-cyan);
}

.site-logo--footer {
	width: 210px;
	max-width: 100%;
}

.is-inner .site-main {
	width: min(var(--container), calc(100% - var(--gutter) * 2));
	margin-inline: auto;
	padding-top: 80px;
	padding-bottom: 100px;
}

.policy-page {
	color: var(--color-text);
}

.policy-breadcrumbs {
	display: flex;
	margin-bottom: 46px;
	align-items: center;
	gap: 10px;
	color: #90d6ea;
	font-size: 16px;
	font-weight: 500;
}

.policy-breadcrumbs a {
	transition: color .2s ease;
}

.policy-breadcrumbs a:hover {
	color: var(--color-blue);
}

.policy-hero {
	display: grid;
	padding-bottom: clamp(48px, 5vw, 82px);
	grid-template-columns: minmax(0, .9fr) minmax(360px, .75fr);
	gap: clamp(36px, 7vw, 120px);
	align-items: end;
	border-bottom: 1px solid rgba(144, 214, 234, .72);
}

.policy-hero__label {
	margin: 0 0 22px;
	color: var(--color-blue);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.policy-hero h1 {
	margin: 0;
	color: var(--color-navy);
	font-size: clamp(48px, 6.5vw, 96px);
	font-weight: 600;
	line-height: .95;
	letter-spacing: -.04em;
}

.policy-hero > p {
	margin: 0;
	color: var(--color-blue);
	font-size: clamp(22px, 2vw, 34px);
	font-weight: 500;
	line-height: 1.16;
	letter-spacing: -.02em;
}

.policy-section {
	padding: clamp(34px, 4vw, 62px) 0;
	border-bottom: 1px solid rgba(34, 135, 200, .18);
}

.policy-section h2 {
	margin: 0 0 22px;
	color: var(--color-navy);
	font-size: clamp(28px, 2.2vw, 40px);
	font-weight: 700;
	line-height: 1.1;
}

.policy-section p,
.policy-section li {
	max-width: 980px;
	color: var(--color-muted);
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.58;
}

.policy-section p {
	margin: 0 0 16px;
}

.policy-section p:last-child {
	margin-bottom: 0;
}

.policy-section ul {
	display: grid;
	margin: 0;
	padding: 0;
	gap: 12px;
	list-style: none;
}

.policy-section li {
	position: relative;
	padding-left: 28px;
}

.policy-section li::before {
	position: absolute;
	top: .72em;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: var(--color-cyan);
	content: "";
}

.policy-section a {
	color: var(--color-blue);
	font-weight: 700;
}

.policy-note {
	margin-top: 20px;
}

.policy-definitions {
	display: grid;
	gap: 14px;
	margin: 0;
}

.policy-definitions div {
	padding: 22px 24px;
	border: 1px solid rgba(34, 135, 200, .18);
	background: #fff;
}

.policy-definitions dt {
	margin: 0 0 8px;
	color: var(--color-navy);
	font-family: var(--font-primary);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

.policy-definitions dd {
	margin: 0;
	color: var(--color-muted);
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.55;
}

.policy-table-wrap {
	overflow-x: auto;
}

.policy-table {
	width: 100%;
	min-width: 980px;
	border-collapse: collapse;
	background: #fff;
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.45;
}

.policy-table th,
.policy-table td {
	padding: 18px;
	border: 1px solid rgba(34, 135, 200, .22);
	text-align: left;
	vertical-align: top;
}

.policy-table th {
	background: #e8f8ff;
	color: var(--color-navy);
	font-family: var(--font-primary);
	font-weight: 700;
}

.policy-table td {
	color: var(--color-muted);
}

.policy-section--notice {
	padding: clamp(34px, 4vw, 56px);
	border: 1px solid rgba(34, 135, 200, .2);
	background: linear-gradient(135deg, #f7fcff 0%, #e8f8ff 100%);
}

.policy-requisites {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: rgba(34, 135, 200, .2);
}

.policy-requisites div {
	display: grid;
	padding: 24px;
	gap: 8px;
	background: #fff;
}

.policy-requisites span {
	color: var(--color-muted);
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.4;
}

.policy-requisites strong {
	color: var(--color-navy);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.35;
}

.cookie-notice {
	position: fixed;
	z-index: 500;
	right: var(--gutter);
	bottom: 24px;
	width: min(560px, calc(100% - var(--gutter) * 2));
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .24s ease, transform .24s ease;
}

.cookie-notice.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.cookie-notice__content {
	display: grid;
	padding: 24px;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 22px;
	align-items: center;
	border: 1px solid rgba(144, 214, 234, .38);
	background: #102d60;
	box-shadow: 0 22px 60px rgba(8, 35, 82, .26);
	color: #fff;
}

.cookie-notice p {
	margin: 0;
	color: rgba(255, 255, 255, .8);
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.5;
}

.cookie-notice a {
	color: #90d6ea;
	font-weight: 700;
}

.cookie-notice button {
	min-height: 46px;
	padding: 0 24px;
	border: 0;
	border-radius: 0;
	background: #90d6ea;
	color: #102d60;
	cursor: pointer;
	font-family: var(--font-primary);
	font-size: 15px;
	font-weight: 700;
	transition: background .2s ease, color .2s ease;
}

.cookie-notice button:hover {
	background: #fff;
	color: var(--color-blue);
}

.not-found-page {
	position: relative;
	display: flex;
	width: 100vw;
	min-height: calc(100svh - 80px);
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	align-items: center;
	overflow: hidden;
	background: #102c5a;
	color: #ffffff;
}

.not-found-page__media,
.not-found-page__overlay {
	position: absolute;
	inset: 0;
}

.not-found-page__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.92);
}

.not-found-page__overlay {
	background:
		linear-gradient(90deg, rgba(12, 42, 88, .92) 0%, rgba(12, 42, 88, .72) 44%, rgba(12, 42, 88, .48) 100%),
		linear-gradient(180deg, rgba(0, 169, 207, .12) 0%, rgba(4, 24, 52, .86) 100%);
}

.not-found-page__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(180px, .5fr) minmax(0, 1fr);
	gap: clamp(32px, 8vw, 120px);
	align-items: center;
	padding-block: clamp(72px, 10vw, 150px);
}

.not-found-page__code {
	color: rgba(203, 236, 251, .72);
	font-size: clamp(96px, 14vw, 220px);
	font-weight: 600;
	line-height: .9;
}

.not-found-page__content {
	max-width: 760px;
}

.not-found-page__content p {
	margin: 0 0 18px;
	color: #90d6ea;
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
}

.not-found-page__content h1 {
	margin: 0 0 28px;
	font-size: clamp(44px, 5vw, 76px);
	font-weight: 600;
	line-height: 1.05;
}

.not-found-page__content > div:not(.not-found-page__actions) {
	max-width: 620px;
	color: rgba(255, 255, 255, .82);
	font-size: clamp(18px, 1.6vw, 24px);
	font-weight: 500;
	line-height: 1.25;
}

.not-found-page__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 28px;
	align-items: center;
	margin-top: 42px;
}

.not-found-page__primary {
	display: inline-flex;
	min-width: min(100%, 260px);
	min-height: 58px;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 12px 24px;
	background: #cbeafb;
	color: var(--color-navy);
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease;
}

.not-found-page__primary:hover {
	background: #ffffff;
	color: var(--color-navy);
}

.not-found-page__link {
	color: #cbeafb;
	font-size: 18px;
	font-weight: 600;
	transition: color .2s ease;
}

.not-found-page__link:hover {
	color: #ffffff;
}

@media (max-width: 1180px) {
	.header-detail:last-child {
		display: none;
	}

	.site-nav__list {
		gap: 30px;
	}
}

@media (max-width: 1100px) {
	.site-nav__list {
		gap: 18px;
	}

	.hero__copy {
		grid-template-columns: 1fr;
	}

	.hero__cta {
		width: max-content;
	}

	.metrics-section__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.projects-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.projects-card {
		min-height: 0;
	}

	.home-projects-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.news-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.projects-featured__image {
		min-height: 300px;
	}

	.news-featured__image,
	.news-detail__image {
		min-height: 300px;
	}

	.advantages-section,
	.advantages-section .container,
	.advantages-grid,
	.advantage-card {
		min-height: 0;
	}

	.advantages-section {
		padding: 90px 0;
	}

	.advantages-section h2 {
		max-width: none;
		margin-bottom: 46px;
		overflow-wrap: anywhere;
	}

	.advantages-grid {
		width: 100%;
		margin-top: 0;
		padding-top: 0;
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.advantage-card {
		min-height: 360px;
		padding: 132px 34px 34px;
		border: 1px solid rgba(29, 67, 131, .12);
	}

	.advantage-card__icon {
		top: 28px;
	}

	.advantage-card__text {
		opacity: 1;
		max-width: 100%;
		transform: none;
	}
}

@media (max-width: 900px) {
	.policy-hero,
	.policy-requisites,
	.cookie-notice__content {
		grid-template-columns: 1fr;
	}

	.policy-hero {
		gap: 28px;
	}

	.cookie-notice {
		right: 20px;
		bottom: 20px;
		width: calc(100% - 40px);
	}

	.site-header__top-inner {
		gap: 12px;
	}

	.site-header__details {
		display: flex;
		gap: 12px;
		margin-right: 58px;
		margin-left: auto;
	}

	.site-header__contact {
		display: none;
	}

	.header-detail {
		width: 34px;
		height: 34px;
	}

	.header-detail:nth-child(1)::before {
		width: 23px;
		height: 23px;
	}

	.header-detail:nth-child(2)::before {
		width: 23px;
		height: 23px;
	}

	.site-header__nav-shell {
		position: absolute;
		top: 0;
		right: 0;
		left: auto;
		width: 58px;
		height: 56px;
		border: 0;
		background: rgba(255, 255, 255, .72);
		-webkit-backdrop-filter: blur(16px);
		backdrop-filter: blur(16px);
		z-index: 2;
	}

	.site-header.is-scrolled .site-header__top {
		transform: none;
	}

	.site-header.is-scrolled .site-header__nav-shell {
		box-shadow: none;
		transform: none;
	}

	.site-header__nav-inner {
		width: 100%;
		justify-content: center;
	}

	.site-logo {
		width: 126px;
		max-width: 42vw;
	}

	.site-header__toggle {
		position: absolute;
		z-index: 4;
		top: 2px;
		right: 3px;
		display: block;
	}

	.site-nav {
		position: fixed;
		top: 56px;
		right: 0;
		bottom: 0;
		left: 0;
		display: none;
		padding: 40px var(--gutter);
		background: rgba(255, 255, 255, .97);
		-webkit-backdrop-filter: blur(16px);
		backdrop-filter: blur(16px);
		pointer-events: auto;
	}

	.site-nav.is-open {
		display: block;
	}

	.site-nav__list {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.site-nav__link {
		font-size: 30px;
		font-weight: 600;
	}

	body.is-nav-dropdown-open::before {
		display: none;
	}

	.site-nav__item.has-dropdown {
		width: 100%;
	}

	.site-nav__dropdown {
		position: static;
		width: 100%;
		min-width: 0;
		margin-top: 2px;
		padding: 0 0 10px 18px;
		border: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
		visibility: visible;
	}

	.site-nav__dropdown-link {
		width: 100%;
		min-height: auto;
		padding: 7px 0;
		font-size: 16px;
		line-height: 1.25;
		white-space: normal;
	}

	.site-nav__dropdown--wide .site-nav__dropdown-link {
		width: 100%;
		font-size: 16px;
		line-height: 1.25;
	}
}

@media (max-width: 1180px) {
	:root {
		--gutter: 18px;
	}

	.not-found-page {
		min-height: calc(100svh - 68px);
	}

	.not-found-page__inner {
		grid-template-columns: 1fr;
		gap: 24px;
		padding-block: 64px 86px;
	}

	.not-found-page__code {
		font-size: clamp(72px, 25vw, 128px);
	}

	.not-found-page__content h1 {
		font-size: clamp(38px, 12vw, 56px);
	}

	.not-found-page__actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.not-found-page__primary {
		width: 100%;
	}

	.site-header,
	.site-header.is-scrolled {
		height: 68px;
	}

	.site-header__top {
		height: 68px;
		background: rgba(255, 255, 255, .76);
	}

	.site-header__top-inner {
		gap: 12px;
	}

	.site-header__details {
		display: flex;
		gap: 12px;
		margin-right: 58px;
		margin-left: auto;
	}

	.site-header__contact {
		display: none;
	}

	.header-detail {
		width: 34px;
		height: 34px;
	}

	.header-detail:nth-child(1)::before {
		width: 23px;
		height: 23px;
	}

	.header-detail:nth-child(2)::before {
		width: 23px;
		height: 23px;
	}

	.site-header__nav-shell {
		position: absolute;
		top: 0;
		right: 0;
		left: auto;
		width: 58px;
		height: 68px;
		margin-left: auto;
		border: 0;
		background: rgba(255, 255, 255, .72);
		backdrop-filter: blur(16px);
		z-index: 2;
	}

	.site-header.is-scrolled .site-header__top {
		background: rgba(255, 255, 255, .76);
		transform: none;
	}

	.site-header.is-scrolled .site-header__nav-shell {
		box-shadow: none;
		transform: none;
	}

	.site-header__nav-inner {
		width: 100%;
		justify-content: center;
	}

	.site-logo {
		width: 126px;
		max-width: 42vw;
	}

	.site-header__toggle {
		position: absolute;
		z-index: 4;
		top: 8px;
		right: 3px;
		display: block;
	}

	.site-header__toggle[aria-expanded="true"] > span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.site-header__toggle[aria-expanded="true"] > span:nth-child(2) {
		opacity: 0;
	}

	.site-header__toggle[aria-expanded="true"] > span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	.site-nav {
		position: fixed;
		top: 68px;
		right: 0;
		bottom: 0;
		left: 0;
		display: none;
		padding: 40px var(--gutter);
		background: rgba(255, 255, 255, .97);
		backdrop-filter: blur(16px);
		pointer-events: auto;
	}

	.site-nav.is-open {
		display: block;
	}

	.site-nav__list {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.site-nav__link {
		font-size: 30px;
		font-weight: 600;
	}

	body.is-nav-dropdown-open::before {
		display: none;
	}

	.site-nav__item.has-dropdown {
		width: 100%;
	}

	.site-nav__dropdown {
		position: static;
		width: 100%;
		min-width: 0;
		margin-top: 2px;
		padding: 0 0 10px 18px;
		border: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
		visibility: visible;
	}

	.site-nav__dropdown-link {
		width: 100%;
		min-height: auto;
		padding: 7px 0;
		font-size: 16px;
		line-height: 1.25;
		white-space: normal;
	}

	.site-nav__dropdown--wide .site-nav__dropdown-link {
		width: 100%;
		font-size: 16px;
		line-height: 1.25;
	}

	.site-main {
		padding-top: 68px;
	}

	.is-inner.is-projects-page .site-main {
		padding-top: 68px;
	}

	.is-inner.is-news-page .site-main {
		padding-top: 68px;
	}

	.projects-page,
	.news-page,
	.news-detail-page {
		min-height: calc(100svh - 68px);
		padding: 44px 0 72px;
	}

	.projects-page__breadcrumbs,
	.news-page__breadcrumbs {
		margin-bottom: 32px;
		font-size: 16px;
	}

	.projects-page h1,
	.news-page h1,
	.news-detail h1 {
		margin-bottom: 34px;
		font-size: clamp(38px, 11vw, 54px);
	}

	.projects-featured,
	.news-featured {
		margin-bottom: 48px;
		padding: 0;
	}

	.projects-featured:hover,
	.projects-card:hover,
	.news-featured:hover,
	.news-card:hover {
		transform: none;
	}

	.projects-featured__image,
	.news-featured__image,
	.news-detail__image {
		aspect-ratio: 16 / 10;
		height: auto;
		min-height: 230px;
	}

	.projects-featured::before,
	.projects-featured::after,
	.projects-card::before,
	.projects-card::after {
		display: none;
	}

	.projects-featured__body {
		padding-right: 0;
	}

	.projects-featured__nav {
		position: static;
		width: 100%;
		margin-top: 18px;
		align-items: flex-start;
		gap: 16px;
	}

	.projects-featured__steps {
		justify-content: flex-start;
		overflow-x: auto;
		padding-bottom: 4px;
	}

	.projects-featured__step {
		font-size: 15px;
	}

	.projects-featured__step::after {
		width: 36px;
	}

	.projects-featured__step.is-active::after {
		width: 58px;
	}

	.projects-featured__arrows {
		gap: 10px;
	}

	.projects-featured__arrow,
	.projects-pagination__button {
		width: 40px;
		height: 40px;
	}

	.projects-featured__arrow span,
	.projects-pagination__button span {
		width: 25px;
		height: 21px;
	}

	.projects-featured__title,
	.news-featured__title {
		font-size: clamp(24px, 7vw, 32px);
	}

	.projects-filter-control {
		margin-bottom: 18px;
	}

	.projects-filter-select select {
		min-height: 56px;
		padding: 17px 58px 17px 18px;
		font-size: 15px;
	}

	.projects-filter-select::after {
		right: 22px;
	}

	.projects-filter,
	.news-filter {
		margin-bottom: 34px;
		gap: 10px;
	}

	.projects-pill,
	.news-pill {
		min-height: 34px;
		padding: 7px 14px;
		font-size: 13px;
	}

	.projects-list,
	.news-list {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.projects-card,
	.news-card {
		min-height: 0;
		padding: 0 0 22px;
		border-right: 0;
		border-left: 0;
	}

	.projects-card__title,
	.news-card__title {
		font-size: 22px;
	}

	.projects-card__works span {
		width: 100%;
		font-size: 14px;
	}

	.projects-pagination {
		margin-top: 36px;
	}

	.projects-pagination__current {
		font-size: 20px;
	}

	.hero,
	.hero__content {
		min-height: calc(100svh - 68px);
	}

	.hero__video {
		display: none;
	}

	.hero__content {
		justify-content: flex-end;
	}

	.hero__eyebrow {
		max-width: 280px;
	}

	.hero h1 {
		font-size: clamp(36px, 11vw, 58px);
	}

	.hero__cta {
		width: 100%;
		min-width: 0;
		justify-content: space-between;
	}

	.hero__timeline {
		margin-top: 30px;
		gap: 6px;
	}

	.hero__scene {
		display: block;
	}

	.hero__scene span {
		display: none;
	}

	.hero__scene i {
		height: 3px;
	}

	.hero__scroll {
		display: none;
	}

	.partners-section__bg {
		background-image: url("/local/templates/alpha_energy/assets/images/partners/partners-bg-mobile.webp");
	}

	.directions {
		width: 100%;
		max-width: 100vw;
		height: auto;
		min-height: auto;
	}

	.directions__media {
		position: relative;
		height: 78vw;
		min-height: 300px;
	}

	.directions__lines,
	.directions__sectors::after {
		display: none;
	}

	.intro-section h2 {
		font-size: clamp(34px, 10vw, 52px);
	}

	.directions__sectors {
		position: relative;
		display: grid;
		width: 100%;
		max-width: 100%;
		overflow: hidden;
		grid-template-columns: 1fr;
	}

	.direction-sector,
	.direction-sector--1,
	.direction-sector--2,
	.direction-sector--3,
	.direction-sector--4,
	.direction-sector--5,
	.direction-sector--6 {
		position: relative;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 150px;
		padding: 24px var(--gutter);
		overflow: hidden;
		clip-path: none;
	}

	.direction-sector__title,
	.direction-sector--1 .direction-sector__title,
	.direction-sector--2 .direction-sector__title,
	.direction-sector--3 .direction-sector__title,
	.direction-sector--4 .direction-sector__title,
	.direction-sector--5 .direction-sector__title,
	.direction-sector--6 .direction-sector__title {
		position: static;
		max-width: none;
		text-align: left;
		transform: none;
	}

	.direction-sector__title {
		display: block;
		width: 100%;
		min-width: 0;
		margin-top: auto;
		max-width: 100%;
		font-size: clamp(19px, 5.4vw, 24px);
		line-height: 1.12;
		hyphens: none;
		overflow-wrap: normal;
		word-break: normal;
		text-wrap: wrap;
		white-space: normal;
	}

	.direction-sector__title-line {
		display: inline;
	}

	.direction-sector__title-line + .direction-sector__title-line::before {
		content: " ";
	}

	.section-heading--row {
		align-items: stretch;
		flex-direction: column;
	}

	.home-projects-section {
		padding: 72px 0;
	}

	.home-projects-section h2 {
		font-size: clamp(34px, 10vw, 48px);
	}

	.home-projects-section__all {
		width: 100%;
		justify-content: space-between;
	}

	.home-projects-filter {
		margin-bottom: 28px;
		gap: 10px;
	}

	.home-projects-filter button {
		min-height: 34px;
		padding: 7px 14px;
		font-size: 13px;
	}

	.home-projects-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.home-project-card {
		padding: 0 0 22px;
		border-right: 0;
		border-bottom: 1px dashed #90d6ea;
	}

	.home-news-card::before,
	.home-news-card::after {
		display: none;
	}

	.home-project-card::before,
	.home-project-card::after {
		display: none;
	}

	.home-project-card.is-last-visible {
		border-bottom-color: transparent;
	}

	.home-project-card:hover {
		transform: none;
	}

	.home-project-card__title {
		font-size: 22px;
	}

	.home-project-card__works span {
		width: 100%;
		font-size: 14px;
	}

	.about-panel {
		position: relative;
		top: auto;
		height: auto;
		min-height: auto;
		margin-bottom: 0;
		transform: none !important;
	}

	.about-stack {
		height: auto;
		margin-bottom: 0;
	}

	.about-stack__viewport {
		position: relative;
		height: auto;
		padding-bottom: 0;
		overflow: visible;
	}

	.intro-section {
		height: auto;
		min-height: 0;
		padding: 0 0 72px;
	}

	.about-stack__viewport > .intro-section.about-panel {
		height: auto;
		min-height: 0;
	}

	.intro-section__banner {
		min-height: 280px;
		flex-basis: auto;
		background-size: auto 280px;
	}

	.intro-section__banner-inner {
		width: calc(100% - 40px);
		min-height: 280px;
		padding: 34px 0;
		align-items: flex-start;
		flex-direction: column;
		justify-content: center;
		gap: 26px;
	}

	.intro-section__banner-title {
		font-size: clamp(30px, 9vw, 42px);
		white-space: normal;
	}

	.intro-section__directions-link {
		width: 100%;
		min-height: 58px;
		padding: 12px 18px;
		justify-content: space-between;
		font-size: 18px;
	}

	.intro-section .container {
		min-height: 0;
		padding-block: 64px 0;
		padding-inline: 0;
		justify-content: flex-start;
	}

	.intro-section .container::before,
	.intro-section .container::after {
		display: none;
	}

	.intro-section__grid,
	.site-footer__inner {
		grid-template-columns: 1fr;
	}

	.intro-section__grid {
		margin-top: 36px;
		padding-top: 28px;
	}

	.intro-section__grid::before {
		display: none;
	}

	.intro-section__grid p {
		grid-column: auto;
		font-size: 21px;
	}

	.arrow-link {
		grid-column: auto;
		width: 100%;
		min-width: 0;
		justify-content: space-between;
	}

	.site-footer__inner {
		align-items: center;
	}

	.story-section,
	.story-section__content,
	.team-section,
	.team-section__content {
		min-height: 680px;
	}

	.story-section__content,
	.team-section__content {
		padding-block: 42px 20px;
	}

	.story-section h2,
	.team-section h2 {
		max-width: 340px;
		font-size: clamp(36px, 10vw, 48px);
	}

	.story-section__card,
	.team-section__card {
		width: 100%;
		min-height: 270px;
		padding: 54px 24px 24px;
		grid-template-columns: 1fr;
		clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%, 0 18%);
	}

	.story-section__card-space,
	.team-section__card-space {
		display: none;
	}

	.story-section__stat,
	.team-section__stat {
		padding-left: 0;
	}

	.story-section__stat strong,
	.team-section__stat strong {
		font-size: 42px;
	}

	.story-section__stat p,
	.team-section__stat p {
		font-size: 14px;
		line-height: 1.2;
	}

	.metrics-section__grid,
	.process-grid,
	.projects-grid,
	.news-grid {
		grid-template-columns: 1fr;
	}

	.advantages-section {
		padding: 72px 0;
	}

	.advantages-section h2 {
		max-width: 100%;
		font-size: clamp(34px, 10vw, 48px);
	}

	.advantage-card {
		width: 100%;
		max-width: 100%;
		min-height: 340px;
		padding: 120px 24px 28px;
		gap: 22px;
	}

	.advantage-card__icon {
		width: 96px;
		height: 74px;
	}

	.advantage-card__title {
		font-size: 28px;
		overflow-wrap: anywhere;
	}

	.advantage-card__text {
		font-size: 16px;
		overflow-wrap: anywhere;
	}

	.metrics-section__grid {
		min-height: 0;
		margin-top: 130px;
		grid-template-columns: 1fr;
	}

	.metrics-section .container {
		min-height: 680px;
		padding-block: 42px 20px;
	}

	.metrics-section h2 {
		max-width: 340px;
		font-size: clamp(36px, 10vw, 48px);
	}

	.metric-card {
		min-height: 150px;
		padding: 26px 24px;
		border-right: 0;
		border-bottom: 1px solid rgba(34, 135, 200, .3);
	}

	.metric-card:last-child {
		border-bottom: 0;
	}

	.metric-card strong {
		font-size: 42px;
	}

	.metric-card span {
		font-size: 16px;
	}

	.process-card,
	.process-card__content {
		min-height: 220px;
	}

	.process-card {
		--process-line-left: 102px;
		--process-copy-left: 122px;
		--process-copy-width: calc(100% - 142px);
		--process-number-left: 18px;
		--process-number-width: 68px;
		--process-card-overlap: 0px;
		--process-image-clip: polygon(0 0, 100% 0, 100% 100%, 0 100%);
		--process-image-transform: scale(1.035);
		--process-image-hover-transform: scale(1);
		aspect-ratio: auto;
		width: 100%;
	}

	.process-card:nth-child(even) {
		--process-line-left: 102px;
		--process-copy-left: 122px;
		--process-copy-width: calc(100% - 142px);
		--process-number-left: 18px;
		--process-number-width: 68px;
		--process-image-clip: polygon(0 0, 100% 0, 100% 100%, 0 100%);
		--process-image-transform: scale(1.035);
		--process-image-hover-transform: scale(1);
	}

	.process-card__content::after {
		left: var(--process-line-left);
	}

	.process-card__number {
		font-size: 68px;
		line-height: 1.2;
	}

	.process-card__copy {
		width: var(--process-copy-width);
	}

	.process-card h3 {
		font-size: 16px;
	}

	.process-card p {
		font-size: 14px;
		line-height: 1.25;
	}

	.project-card,
	.project-card--large,
	.news-card,
	.news-card--large {
		min-height: 420px;
		grid-row: auto;
	}

	.news-card:not(.news-card--image) {
		min-height: 240px;
	}

	.geography-map {
		right: 50%;
		bottom: 42px;
		width: 108%;
		max-width: none;
		transform: translateX(50%);
	}

	.geography-map--frame {
		bottom: 50%;
		width: 150%;
		transform: translate(50%, 50%);
	}

	.geography-map-wrap {
		top: 96px;
		left: 50%;
		bottom: auto;
		width: 150%;
		height: auto;
		aspect-ratio: 2299 / 1149;
		transform: translateX(-50%);
	}

	.geography-section,
	.geography-section__layout {
		height: 520px;
		min-height: 520px;
	}

	.geography-section h2 {
		top: 34px;
		left: 20px;
		width: 300px;
		max-width: 300px;
		font-size: 30px;
		line-height: 1.08;
		white-space: normal;
	}

	.partners-section {
		min-height: 430px;
		padding-top: 54px;
	}

	.partners-section h2 {
		max-width: 310px;
		font-size: 30px;
		line-height: 1.08;
	}

	.partners-carousel {
		margin-top: 52px;
	}

	.partners-carousel__item {
		width: 190px;
		height: 92px;
		padding: 18px 28px;
	}

	.partners-carousel__item img {
		max-height: 52px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.partners-carousel__track {
		animation: none;
	}

	*,
	*::before,
	*::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

.about-page {
	background: linear-gradient(180deg, #ffffff 0%, #f3fbff 48%, #ffffff 100%);
	color: #090909;
	overflow: hidden;
}

.about-page__breadcrumbs {
	display: flex;
	gap: 10px;
	align-items: center;
	padding: 42px 0 0;
	color: rgba(29, 67, 131, 0.72);
	font-size: 15px;
	font-weight: 600;
}

.about-page__breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.about-hero {
	padding: clamp(54px, 8vw, 112px) 0 clamp(64px, 9vw, 128px);
}

.about-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.72fr);
	gap: clamp(32px, 6vw, 104px);
	align-items: stretch;
}

.about-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: clamp(520px, 67svh, 760px);
}

.about-kicker {
	margin-bottom: 22px;
	color: #1d4383;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.about-hero h1,
.about-metrics h2,
.about-section-head h2,
.about-areas h2,
.about-partners h2 {
	margin: 0;
	color: #2287c8;
	font-size: clamp(46px, 5.4vw, 70px);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: 0;
}

.about-hero__text {
	max-width: 760px;
	margin-top: 32px;
	color: #1d4383;
	font-size: clamp(21px, 2vw, 31px);
	font-weight: 500;
	line-height: 1.16;
}

.about-hero__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	min-height: 56px;
	margin-top: 42px;
	padding: 0 28px;
	background: #1d4383;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.2s ease;
}

.about-hero__link:hover {
	background: #2287c8;
	transform: translateY(-2px);
}

.about-hero__media {
	position: relative;
	min-height: clamp(480px, 64svh, 780px);
	background:
		linear-gradient(145deg, rgba(29, 67, 131, 0.92), rgba(34, 135, 200, 0.32)),
		#cbeafb;
	overflow: hidden;
}

.about-hero__media::before {
	content: "";
	position: absolute;
	inset: 10%;
	border: 1px solid rgba(255, 255, 255, 0.35);
}

.about-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: luminosity;
}

.about-metrics {
	padding: 0 0 clamp(70px, 9vw, 130px);
}

.about-metrics .about-section-head {
	margin-bottom: clamp(30px, 5vw, 64px);
}

.about-metrics__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: rgba(34, 135, 200, 0.28);
}

.about-metric {
	min-height: 238px;
	padding: clamp(28px, 3vw, 48px);
	background: rgba(255, 255, 255, 0.86);
}

.about-metric strong {
	display: block;
	color: #2287c8;
	font-size: clamp(60px, 8vw, 112px);
	font-weight: 600;
	line-height: 0.95;
	letter-spacing: 0;
}

.about-metric span {
	display: block;
	max-width: 360px;
	margin-top: 18px;
	color: #1d4383;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.12;
}

.about-section-head {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(280px, 0.58fr);
	gap: clamp(26px, 6vw, 96px);
	align-items: end;
	margin-bottom: clamp(34px, 5vw, 72px);
}

.about-section-head__text {
	color: #1d4383;
	font-size: clamp(18px, 1.45vw, 24px);
	font-weight: 600;
	line-height: 1.16;
}

.about-missions,
.about-licenses {
	padding: clamp(70px, 10vw, 150px) 0;
}

.about-missions__rail,
.about-licenses__rail {
	display: grid;
	grid-auto-columns: minmax(420px, min(52vw, 560px));
	grid-auto-flow: column;
	gap: 20px;
	width: 100%;
	padding: 0 max(24px, calc((100vw - var(--container)) / 2)) 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-color: #2287c8 rgba(34, 135, 200, 0.16);
}

.about-mission-card,
.about-license-card {
	scroll-snap-align: start;
	display: flex;
	min-height: 620px;
	flex-direction: column;
	align-items: flex-start;
	gap: 28px;
	padding: clamp(34px, 4vw, 62px);
	background: #ffffff;
	border: 1px solid rgba(34, 135, 200, 0.18);
}

.about-mission-card img,
.about-license-card img {
	width: 150px;
	height: 150px;
	object-fit: contain;
}

.about-mission-card span {
	color: #1d4383;
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
}

.about-mission-card h3,
.about-license-card h3 {
	margin: 0;
	color: #2287c8;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: 0;
}

.about-mission-card div,
.about-license-card div {
	color: #1d4383;
	font-size: clamp(19px, 1.7vw, 25px);
	font-weight: 600;
	line-height: 1.12;
}

.about-areas {
	position: relative;
	padding: clamp(82px, 11vw, 170px) 0;
	background: #1d4383;
	color: #ffffff;
}

.about-areas h2,
.about-partners h2 {
	color: #ffffff;
}

.about-areas__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: clamp(34px, 6vw, 86px);
}

.about-area-card {
	min-height: 220px;
	padding: clamp(28px, 3.2vw, 42px);
	background: rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(18px);
}

.about-area-card h3 {
	margin: 0;
	color: #ffffff;
	font-size: clamp(25px, 2.7vw, 40px);
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
}

.about-area-card div {
	margin-top: 22px;
	color: #f2fbff;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
}

.about-steps {
	padding: clamp(82px, 12vw, 160px) 0;
	background: #cbeafb;
}

.about-steps__stack {
	width: min(1316px, calc(100% - 48px));
	margin: 0 auto;
	padding-bottom: clamp(80px, 16vw, 220px);
}

.about-step-card {
	position: sticky;
	top: 120px;
	display: grid;
	grid-template-columns: 210px minmax(0, 1fr) minmax(260px, 420px);
	gap: clamp(24px, 4vw, 56px);
	align-items: center;
	min-height: 300px;
	margin-top: calc(var(--step-index) * 26px);
	padding: 34px 46px;
	background: #ffffff;
	box-shadow: 0 28px 64px rgba(29, 67, 131, 0.18);
	transform: translateY(calc(var(--step-index) * 6px)) scale(calc(1 - var(--step-index) * 0.012));
	transition: background 0.3s ease, transform 0.3s ease;
	z-index: calc(10 + var(--step-index));
}

.about-step-card.is-fill-active {
	background: #1d4383;
}

.about-step-card.is-active {
	transform: translateY(0) scale(1);
}

.about-step-card--text {
	grid-template-columns: 210px minmax(0, 1fr);
}

.about-step-card__number {
	display: block;
	color: transparent;
	background: linear-gradient(180deg, #2287c8 0%, rgba(34, 135, 200, 0) 92%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	font-size: clamp(96px, 10vw, 170px);
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0;
}

.about-step-card h3 {
	margin: 0;
	color: #2287c8;
	font-size: clamp(27px, 3vw, 40px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: uppercase;
}

.about-step-card div {
	color: #1d4383;
}

.about-step-card__body > div {
	margin-top: 18px;
	font-size: clamp(18px, 1.7vw, 25px);
	font-weight: 600;
	line-height: 1.12;
}

.about-step-card.is-fill-active h3 {
	color: #cbeafb;
}

.about-step-card.is-fill-active .about-step-card__body > div {
	color: #f2fbff;
}

.about-step-card__image {
	min-height: 210px;
	background: rgba(34, 135, 200, 0.12);
}

.about-step-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-partners {
	padding: clamp(82px, 11vw, 160px) 0;
	background: linear-gradient(180deg, #2e5989 0%, #141f48 100%);
}

.about-partners__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1px;
	margin-top: clamp(36px, 6vw, 86px);
	background: rgba(255, 255, 255, 0.28);
}

.about-partners__text {
	max-width: 520px;
	margin-top: 24px;
	color: #f2fbff;
	font-size: clamp(18px, 1.45vw, 24px);
	font-weight: 600;
	line-height: 1.16;
}

.about-partner-logo {
	display: flex;
	min-height: 164px;
	align-items: center;
	justify-content: center;
	padding: 28px;
	background: #ffffff;
}

.about-partner-logo img {
	max-width: 180px;
	max-height: 86px;
	object-fit: contain;
}

.about-partner-logo--text span {
	color: #1d4383;
	font-size: 20px;
	font-weight: 700;
}

.about-team {
	padding: clamp(82px, 11vw, 150px) 0;
	background: #ffffff;
}

.about-team__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.about-person-card {
	display: grid;
	grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 52px);
	align-items: end;
	min-height: 420px;
	padding: clamp(28px, 4vw, 48px);
	background: #f2fbff;
}

.about-person-card--text {
	grid-template-columns: 1fr;
}

.about-person-card img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.about-person-card h3 {
	grid-column: 2;
	margin: 0;
	color: #090909;
	font-size: clamp(24px, 2.1vw, 34px);
	font-weight: 700;
	line-height: 1.12;
}

.about-person-card span,
.about-person-card div {
	grid-column: 2;
	color: #1d4383;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
}

.about-person-card--text h3,
.about-person-card--text span,
.about-person-card--text div {
	grid-column: auto;
}

@media (max-width: 1180px) {
	.about-hero__inner,
	.about-section-head,
	.about-step-card {
		grid-template-columns: 1fr;
	}

	.about-hero__content,
	.about-hero__media {
		min-height: auto;
	}

	.about-hero__media {
		aspect-ratio: 16 / 9;
	}

	.about-step-card {
		top: 92px;
	}

	.about-step-card__image {
		min-height: 260px;
	}

	.about-partners__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.about-team__grid,
	.about-person-card {
		grid-template-columns: 1fr;
	}

	.about-person-card h3,
	.about-person-card span,
	.about-person-card div {
		grid-column: auto;
	}
}

@media (max-width: 1180px) {
	.about-page__breadcrumbs {
		padding-top: 28px;
		font-size: 13px;
	}

	.about-hero {
		padding: 42px 0 66px;
	}

	.about-hero h1,
	.about-metrics h2,
	.about-section-head h2,
	.about-areas h2,
	.about-partners h2 {
		font-size: 38px;
		line-height: 1.08;
	}

	.about-hero__text,
	.about-section-head__text {
		font-size: 18px;
	}

	.about-metrics__grid,
	.about-areas__grid,
	.about-partners__grid,
	.about-team__grid {
		grid-template-columns: 1fr;
	}

	.about-metric {
		min-height: 180px;
	}

	.about-missions__rail,
	.about-licenses__rail {
		grid-auto-columns: minmax(286px, 84vw);
		padding-inline: 16px;
	}

	.about-mission-card,
	.about-license-card {
		min-height: 520px;
		padding: 28px;
	}

	.about-step-card {
		position: relative;
		top: auto;
		min-height: auto;
		margin-top: 18px;
		padding: 28px;
		transform: none;
	}

	.about-step-card__number {
		font-size: 86px;
	}

	.about-step-card__image {
		min-height: 190px;
	}
}

/* Final about-page overrides. Must stay after the legacy about rules. */
.about-page .container {
	width: min(100% - 56px, 1584px);
}

.about-page {
	background: #fff;
}

.about-hero {
	padding: 78px 0 72px;
}

.about-hero > .container {
	display: block;
}

.about-hero h1 {
	margin: 0 0 58px;
	color: #1d4383;
	font-size: clamp(44px, 4.5vw, 70px);
	font-weight: 600;
	line-height: 1.05;
}

.about-hero__rule {
	height: 1px;
	margin-bottom: 56px;
	background: rgba(144, 214, 234, .72);
}

.about-hero__lead {
	max-width: 1420px;
	padding-bottom: 56px;
	border-bottom: 1px solid rgba(144, 214, 234, .72);
	color: #2287c8;
	font-size: clamp(42px, 4.5vw, 70px);
	font-weight: 600;
	line-height: 1.05;
}

.about-hero__quote {
	width: min(660px, 100%);
	margin: 0 0 0 auto;
	padding: 84px 0 0 132px;
	border-left: 1px dashed rgba(34, 135, 200, .48);
	color: #1d4383;
	font-size: clamp(24px, 2vw, 32px);
	font-weight: 500;
	line-height: 1.14;
}

.about-main-metrics {
	padding: 0 0 90px;
}

.about-main-metrics__grid {
	display: grid;
	grid-template-columns: 668fr 248fr 668fr;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	aspect-ratio: 1584 / 714;
	background: #cbeafb;
	overflow: hidden;
}

.about-main-metric {
	position: relative;
	min-width: 0;
	min-height: 0;
	padding: 0;
	background: #cbeafb;
	color: #2287c8;
}

.about-main-metric--image {
	background: transparent;
	color: #cbeafb;
}

.about-main-metric--1 {
	grid-column: 1 / 3;
	grid-row: 1;
	z-index: 2;
	clip-path: none;
}

.about-main-metric--2 {
	grid-column: 2 / 4;
	grid-row: 1;
	z-index: 1;
	background: #90d6ea;
}

.about-main-metric--3 {
	grid-column: 1 / 3;
	grid-row: 2;
	z-index: 1;
}

.about-main-metric--4 {
	grid-column: 2 / 4;
	grid-row: 2;
	z-index: 2;
	clip-path: none;
}

.about-main-metric img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.about-main-metric::after {
	display: none;
}

.about-main-metric:not(.about-main-metric--image)::after {
	display: none;
}

.about-main-metric > div {
	position: absolute;
	z-index: 2;
}

.about-main-metric--1 > div {
	left: 14.63%;
	top: 17.37%;
}

.about-main-metric--2 > div {
	left: 37.29%;
	top: 17.37%;
}

.about-main-metric--3 > div {
	left: 14.63%;
	top: 11.99%;
}

.about-main-metric--4 > div {
	left: 37.29%;
	top: 11.99%;
}

.about-main-metric strong {
	display: block;
	font-size: clamp(68px, 10.73vw, 170px);
	font-weight: 600;
	line-height: .95;
}

.about-main-metric span {
	display: block;
	max-width: 380px;
	margin-top: 8px;
	font-size: clamp(22px, 2.4vw, 38px);
	font-weight: 500;
	line-height: 1.05;
}

.about-main-metric--1 span {
	max-width: 460px;
}

.about-main-metric--2 span {
	width: 540px;
	max-width: none;
	white-space: nowrap;
}

.about-main-metric--3 span {
	width: 570px;
	max-width: none;
}

.about-main-metric--4 span {
	width: 400px;
	max-width: none;
}

.about-missions {
	padding: 84px 0 138px;
	background: #fff;
}

.about-missions__grid {
	display: grid;
	grid-template-columns: 1.25fr repeat(3, 1fr);
	min-height: 470px;
	border-right: 1px solid rgba(144, 214, 234, .48);
}

.about-missions__intro,
.about-value-card {
	padding: 0 clamp(34px, 4vw, 70px);
	border-left: 1px solid rgba(144, 214, 234, .48);
}

.about-missions__intro h2,
.about-steps h2,
.about-licenses__intro h2,
.about-team h2 {
	color: #2287c8;
	font-size: clamp(42px, 4.4vw, 70px);
	font-weight: 500;
	line-height: 1.05;
}

.about-value-card {
	background: #fff;
}

.about-value-card span {
	display: block;
	width: 72px;
	height: 72px;
	margin-bottom: 40px;
	border: 3px solid #2287c8;
	border-radius: 50%;
}

.about-value-card h3 {
	margin: 0 0 30px;
	color: #1d4383;
	font-size: clamp(28px, 2.8vw, 40px);
	font-weight: 700;
	line-height: 1.02;
	text-transform: uppercase;
}

.about-missions__intro div,
.about-value-card div {
	color: #1d4383;
	font-size: clamp(18px, 1.42vw, 25px);
	font-weight: 600;
	line-height: 1.08;
}

.about-steps {
	padding: 120px 0 150px;
	border-top: 6px solid #2287c8;
	background: #cbeafb;
}

.about-steps h2 {
	width: min(390px, 100%);
	margin: 0 0 90px;
}

.about-steps__list {
	width: min(1120px, 100%);
	margin: 0 auto;
	display: grid;
	gap: 18px;
}

.about-step-card {
	position: relative;
	top: auto;
	display: grid;
	grid-template-columns: 210px minmax(0, 1fr) minmax(260px, 420px);
	gap: 36px;
	align-items: center;
	min-height: 190px;
	margin: 0;
	padding: 0 0 0 34px;
	background: #fff;
	box-shadow: none;
	transform: none;
}

.about-step-card.is-fill-active {
	background: #1d4383;
}

.about-step-card.is-active {
	transform: none;
}

.about-step-card__number {
	padding-right: 30px;
	border-right: 1px dashed rgba(34, 135, 200, .45);
	font-size: clamp(84px, 9vw, 150px);
}

.about-step-card h3 {
	margin: 0 0 12px;
	color: #2287c8;
	font-size: clamp(24px, 2.2vw, 34px);
	font-weight: 700;
	line-height: 1.02;
	text-transform: uppercase;
}

.about-step-card__body > div {
	margin: 0;
	color: #1d4383;
	font-size: clamp(16px, 1.35vw, 22px);
	font-weight: 600;
	line-height: 1.08;
}

.about-step-card.is-fill-active h3,
.about-step-card.is-fill-active .about-step-card__body > div {
	color: #fff;
}

.about-step-card__image {
	width: 100%;
	height: 190px;
	min-height: 0;
	object-fit: cover;
	background: none;
}

.about-project-numbers {
	padding: 120px 0 96px;
	background: linear-gradient(0deg, rgba(14, 40, 84, .76), rgba(14, 40, 84, .76)), url("/local/templates/alpha_energy/assets/images/about/project-numbers-bg.png") center / cover no-repeat;
	color: #fff;
}

.about-project-numbers h2 {
	width: min(620px, 100%);
	margin: 0 0 66px;
	color: #fff;
	font-size: clamp(42px, 4.4vw, 70px);
	font-weight: 600;
	line-height: 1.05;
}

.about-project-numbers__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	background: #fff;
	color: #2287c8;
}

.about-project-numbers__grid article {
	min-height: 216px;
	padding: 56px 44px;
	border-right: 1px dashed rgba(34, 135, 200, .42);
}

.about-project-numbers__grid strong {
	display: block;
	font-size: clamp(36px, 3.2vw, 54px);
	font-weight: 600;
	line-height: 1;
}

.about-project-numbers__grid span {
	display: block;
	max-width: 220px;
	margin-top: 12px;
	color: #1d4383;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.08;
}

.about-areas,
.about-contract {
	min-height: 900px;
	padding: 74px 0;
	background: linear-gradient(0deg, rgba(144, 214, 234, .18), rgba(144, 214, 234, .18)), url("/local/templates/alpha_energy/assets/images/about/areas-bg.png") center / cover no-repeat;
}

.about-areas__inner,
.about-contract__inner {
	position: relative;
	min-height: 760px;
}

.about-areas h2,
.about-contract h2 {
	position: absolute;
	left: 0;
	top: 0;
	width: min(1180px, 100%);
	color: rgba(255, 255, 255, .9);
	font-size: clamp(86px, 13vw, 250px);
	font-weight: 500;
	line-height: .76;
}

.about-areas__grid,
.about-contract__grid {
	position: absolute;
	inset: 165px 0 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(240px, 420px));
	align-content: space-between;
	justify-content: space-between;
	gap: 70px 120px;
	
}

.about-area-card,
.about-contract article {
	min-height: 116px;
	padding: 28px 24px;
	background: linear-gradient(90deg, rgba(88, 119, 156, .92), rgba(88, 119, 156, .55));
	backdrop-filter: blur(12px);
}

@media (max-width: 420px) {
	.site-header__top-inner {
		gap: 8px;
	}

	.site-logo {
		width: 112px;
		max-width: 38vw;
	}

	.site-header__details {
		gap: 8px;
		margin-right: 52px;
	}

	.header-detail {
		width: 30px;
		height: 30px;
	}

	.header-detail:nth-child(1)::before {
		width: 20px;
		height: 20px;
	}

	.header-detail:nth-child(2)::before {
		width: 20px;
		height: 20px;
	}

	.site-header__toggle {
		right: 0;
	}
}

.about-area-card {
	backdrop-filter: blur(3px);
}

.about-area-card h3,
.about-contract h3 {
	margin: 0;
	color: #fff;
	font-size: clamp(22px, 2.1vw, 34px);
	font-weight: 700;
	line-height: 1.02;
	text-transform: uppercase;
}

.about-area-card div,
.about-contract article div {
	display: none;
}

.about-licenses {
	padding: 150px 0 160px;
	background: #fff;
}

.about-licenses__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-left: 1px solid rgba(144, 214, 234, .42);
}

.about-licenses__intro,
.about-license-card {
	display: block;
	min-height: 430px;
	padding: 0 clamp(30px, 4vw, 68px);
	border-right: 1px solid rgba(144, 214, 234, .42);
	background: #fff;
}

.about-license-card img {
	width: 96px;
	height: 96px;
	margin-bottom: 58px;
	object-fit: contain;
}

.about-license-card h3 {
	margin: 0 0 28px;
	color: #2287c8;
	font-size: clamp(22px, 2.1vw, 34px);
	font-weight: 700;
	line-height: 1.08;
}

.about-license-card div,
.about-licenses__intro div {
	color: #1d4383;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.08;
}

.about-partners {
	padding: 120px 0 0;
	background: linear-gradient(0deg, rgba(4, 19, 35, .58), rgba(4, 19, 35, .58)), url("/local/templates/alpha_energy/assets/images/about/partners-bg.png") center / cover no-repeat;
}

.about-partners h2 {
	width: min(760px, 100%);
	margin: 0 0 90px;
	color: #fff;
	font-size: clamp(42px, 4.2vw, 70px);
	font-weight: 500;
	line-height: 1.05;
}

.about-partners__strip {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(260px, 1fr);
	overflow-x: auto;
	background: #fff;
}

.about-partner-logo {
	min-height: 150px;
	background: #fff;
	border-right: 1px dashed rgba(34, 135, 200, .38);
}

.about-team {
	padding: 130px 0 80px;
	background: #fff;
}

.about-team h2 {
	margin: 0 0 100px;
}

.about-team__list {
	display: grid;
	gap: 72px;
}

.about-person-card {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(320px, .76fr);
	gap: clamp(60px, 10vw, 180px);
	align-items: start;
	min-height: 440px;
	padding: 0;
	background: #fff;
}

.about-person-card__text {
	max-width: 720px;
	padding-top: 150px;
}

.about-person-card__text > div {
	margin-bottom: 34px;
	color: #090909;
	font-size: clamp(18px, 1.35vw, 25px);
	font-weight: 400;
	line-height: 1.12;
}

.about-person-card h3 {
	margin: 0;
	color: #090909;
	font-size: clamp(18px, 1.45vw, 25px);
	font-weight: 700;
	line-height: 1.2;
}

.about-person-card img,
.about-person-card__placeholder {
	width: 100%;
	min-height: 520px;
	background: #d9d9d9;
	object-fit: cover;
}

@media (max-width: 1180px) {
	.about-page .container {
		width: min(100% - 40px, 1000px);
	}

	.about-main-metrics__grid,
	.about-missions__grid,
	.about-licenses__grid,
	.about-person-card,
	.about-project-numbers__grid {
		grid-template-columns: 1fr;
	}

	.about-main-metrics__grid {
		grid-template-columns: 668fr 248fr 668fr;
		grid-template-rows: repeat(2, minmax(0, 1fr));
	}

	.about-hero__quote {
		margin-left: 0;
		padding-left: 40px;
	}

	.about-steps {
		padding: 90px 0;
	}

	.about-steps .container {
		display: block;
	}

	.about-steps h2,
	.about-steps__list {
		position: relative;
		top: auto;
	}

	.about-steps h2 {
		margin: 0 0 56px;
	}

	.about-steps__list {
		min-height: 0;
		display: grid;
		gap: 18px;
	}

	.about-step-card {
		position: relative;
		inset: auto;
		grid-template-columns: 150px minmax(0, 1fr);
		padding: 24px;
		transform: none !important;
	}

	.about-step-card__image {
		grid-column: 1 / -1;
		height: 260px;
	}

	.about-areas__grid,
	.about-contract__grid {
		position: relative;
		inset: auto;
		padding-top: 220px;
		grid-template-columns: 1fr;
		gap: 18px;
	}
}

@media (max-width: 1180px) {
	.about-page .container {
		width: min(100% - 28px, 720px);
	}

	.about-page .about-copy--desktop {
		display: none !important;
	}

	.about-page .about-copy--mobile {
		display: block;
	}

	.about-hero__quote {
		padding: 34px 0 0 20px;
	}

	.about-main-metric,
	.about-main-metric--1,
	.about-main-metric--4 {
		min-height: 240px;
		clip-path: none;
	}

	.about-main-metrics__grid {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: none;
		aspect-ratio: auto;
	}

	.about-main-metric--1,
	.about-main-metric--2,
	.about-main-metric--3,
	.about-main-metric--4 {
		grid-column: 1;
		grid-row: auto;
		min-height: 240px;
	}

	.about-main-metric--1,
	.about-main-metric--4 {
		overflow: hidden;
	}

	.about-main-metric--1 img,
	.about-main-metric--4 img {
		inset: 0;
		width: 100%;
		min-width: 0;
		height: 100%;
		object-fit: cover;
	}

	.about-main-metric--1 > div,
	.about-main-metric--2 > div,
	.about-main-metric--3 > div,
	.about-main-metric--4 > div {
		left: 28px;
		top: 50%;
		right: 28px;
		transform: translateY(-50%);
	}

	.about-main-metric strong {
		font-size: clamp(72px, 25vw, 128px);
	}

	.about-main-metric span,
	.about-main-metric--1 span,
	.about-main-metric--2 span,
	.about-main-metric--3 span,
	.about-main-metric--4 span {
		width: auto;
		max-width: 300px;
		white-space: normal;
		font-size: clamp(22px, 7vw, 32px);
	}

	.about-step-card {
		grid-template-columns: 1fr;
	}

	.about-areas,
	.about-contract {
		min-height: auto;
		padding: 62px 0;
	}

	.about-areas__inner,
	.about-contract__inner {
		min-height: auto;
	}

	.about-areas h2,
	.about-contract h2 {
		position: relative;
		font-size: 64px;
	}

	.about-areas__grid,
	.about-contract__grid {
		padding-top: 40px;
	}

	.about-person-card img,
	.about-person-card__placeholder {
		min-height: 320px;
	}
}

/* Infoblock content overrides the legacy copy. Keep this block at EOF. */
.story-section__content > h2:not(.home-panel-dynamic-title),
.team-section__content > h2:not(.home-panel-dynamic-title),
.metrics-section > .container > h2:not(.home-panel-dynamic-title),
.story-section__stat > strong:not(.home-panel-dynamic-value),
.story-section__stat > p:not(.home-panel-dynamic-text),
.team-section__stat > strong:not(.home-panel-dynamic-value),
.team-section__stat > p:not(.home-panel-dynamic-text),
.metrics-section__grid:not(.metrics-section__grid--dynamic) {
	display: none !important;
}

/* News list uses an image wrapper; neutralize the legacy full-card image rule. */
.news-page .news-card__image img {
	position: static;
	z-index: auto;
	inset: auto;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Layered parallax for about panels. */
.story-section__media--parallax,
.team-section__media--parallax,
.metrics-section__media--parallax {
	overflow: hidden;
}

.story-section__media--parallax {
	background: #fff;
}

.team-section__media--parallax,
.metrics-section__media--parallax {
	background: #03182d;
}

.story-section__media--parallax .team-parallax__layer,
.team-section__media--parallax .team-parallax__layer,
.metrics-section__media--parallax .team-parallax__layer {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
	transform: translate3d(var(--team-layer-x, 0px), var(--team-layer-y, 0px), 0) scale(1.075);
	transform-origin: center;
	will-change: transform;
}

.story-section__media--parallax .team-parallax__layer--back,
.team-section__media--parallax .team-parallax__layer--back,
.metrics-section__media--parallax .team-parallax__layer--back {
	z-index: 1;
	transform: translate3d(var(--team-layer-x, 0px), var(--team-layer-y, 0px), 0) scale(1.055);
}

.story-section__media--parallax .team-parallax__layer--middle,
.team-section__media--parallax .team-parallax__layer--middle {
	z-index: 2;
	--team-layer-y: 25px;
}

.story-section__media--parallax .team-parallax__layer--front,
.team-section__media--parallax .team-parallax__layer--front,
.metrics-section__media--parallax .team-parallax__layer--front {
	z-index: 3;
	--team-layer-y: 140px;
	transform: translate3d(var(--team-layer-x, 0px), var(--team-layer-y, 0px), 0) scale(1.09);
}

.story-section__media--parallax::after,
.team-section__media--parallax::after,
.metrics-section__media--parallax::after {
	z-index: 4;
}

.story-section[data-team-parallax] .story-section__content,
.team-section[data-team-parallax] .team-section__content {
	position: relative;
	z-index: 2;
}

@media (min-width: 1181px) {
	.story-section__content,
	.team-section__content,
	.metrics-section .container {
		padding-top: clamp(88px, 9.5vh, 118px);
	}

	.story-section__card,
	.team-section__card,
	.metrics-section__grid {
		margin-bottom: clamp(92px, 12vh, 142px);
	}
}

@media (max-width: 1180px) {
	.is-home .metrics-section__media--parallax .team-parallax__layer {
		object-position: 65% center;
	}

	.story-section__media--parallax .team-parallax__layer,
	.team-section__media--parallax .team-parallax__layer,
	.metrics-section__media--parallax .team-parallax__layer {
		object-position: 58% center;
	}

	.story-section__media--parallax .team-parallax__layer--front,
	.team-section__media--parallax .team-parallax__layer--front,
	.metrics-section__media--parallax .team-parallax__layer--front {
		--team-layer-y: 105px;
		object-position: 61% center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.story-section__media--parallax .team-parallax__layer,
	.team-section__media--parallax .team-parallax__layer,
	.metrics-section__media--parallax .team-parallax__layer {
		transform: scale(1.04);
		will-change: auto;
	}
}

.site-nav__label--mobile,
.mobile-nav__contacts {
	display: none;
}

@media (max-width: 1180px) {
	.site-nav {
		overflow-x: hidden;
		overflow-y: auto;
		padding: 24px 12px 48px;
		background: #ffffff;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		overscroll-behavior: contain;
		scrollbar-width: none;
	}

	.site-nav::-webkit-scrollbar {
		display: none;
	}

	.site-nav__list {
		width: 100%;
		align-items: stretch;
		gap: 0;
		border-top: 1px solid #90d6ea;
	}

	.site-nav__item,
	.site-nav__item.has-dropdown {
		width: 100%;
		border-bottom: 1px solid #90d6ea;
	}

	.site-nav__link {
		box-sizing: border-box;
		width: 100%;
		min-height: 77px;
		align-items: center;
		justify-content: space-between;
		padding: 0 16px;
		gap: 18px;
		color: #2287c8;
		font-size: 22px;
		font-weight: 600;
		letter-spacing: -.01em;
		line-height: 24px;
	}

	body.is-nav-dropdown-open .site-nav__link,
	body.is-nav-dropdown-open .site-nav__item.is-dropdown-open > .site-nav__link {
		color: #2287c8;
	}

	.site-nav__link::after {
		display: none;
	}

	.site-nav__label--desktop {
		display: none;
	}

	.site-nav__label--mobile {
		display: inline;
	}

	.site-nav__chevron,
	body.is-nav-dropdown-open .site-nav__chevron,
	body.is-nav-dropdown-open .site-nav__item.is-dropdown-open > .site-nav__link .site-nav__chevron {
		display: block;
		flex: 0 0 34px;
		width: 34px;
		height: 30px;
		background-image: url("/local/templates/alpha_energy/assets/images/chevron-down-blue.png");
		background-position: center;
		background-size: 34px 30px;
		background-repeat: no-repeat;
		transform: none;
	}

	.site-nav__item.has-dropdown:hover .site-nav__chevron,
	.site-nav__item.has-dropdown:focus-within .site-nav__chevron {
		transform: none;
	}

	.site-nav__item.has-dropdown.is-dropdown-open .site-nav__chevron,
	.site-nav__item.has-dropdown.is-dropdown-open:hover .site-nav__chevron,
	.site-nav__item.has-dropdown.is-dropdown-open:focus-within .site-nav__chevron {
		transform: rotate(180deg);
	}

	.site-nav__dropdown,
	.site-nav__dropdown--wide,
	.site-nav__item.has-dropdown:hover:not(.is-dropdown-open) .site-nav__dropdown,
	.site-nav__item.has-dropdown:focus-within:not(.is-dropdown-open) .site-nav__dropdown {
		position: static;
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		max-height: 0;
		overflow: hidden;
		margin: 0;
		padding: 0 28px;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		opacity: 0;
		pointer-events: none;
		transform: none;
		transition: max-height .35s ease, padding .35s ease, opacity .2s ease;
		visibility: hidden;
	}

	.site-nav__item.has-dropdown.is-dropdown-open .site-nav__dropdown {
		max-height: 1200px;
		padding-top: 10px;
		padding-bottom: 35px;
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
	}

	.site-nav__dropdown-list,
	.site-nav__dropdown--wide .site-nav__dropdown-list {
		width: 100%;
		align-items: flex-start;
		gap: 20px;
	}

	.site-nav__dropdown-link,
	.site-nav__dropdown--wide .site-nav__dropdown-link {
		display: flex;
		width: min(300px, 100%);
		min-height: 25px;
		margin: 0;
		align-items: center;
		padding: 0;
		border: 0;
		color: #00a9cf;
		font-size: 18px;
		font-weight: 600;
		letter-spacing: -.01em;
		line-height: 24px;
		white-space: normal;
	}

	.site-nav__dropdown-link:hover,
	.site-nav__dropdown-link:focus-visible {
		border: 0;
		background: transparent;
		color: #2287c8;
		outline: 0;
	}

	.mobile-nav__contacts {
		display: flex;
		width: min(292px, calc(100% - 32px));
		margin: 89px 16px 0;
		flex-direction: column;
		align-items: flex-start;
		gap: 25px;
	}

	.mobile-nav__contacts a {
		color: #1d4383;
		font-family: var(--font-primary);
		font-size: 22px;
		font-weight: 700;
		letter-spacing: -.01em;
		line-height: 1.12;
		text-transform: uppercase;
	}
}

/* Shared social links, using the supplied artwork. */
.alpha-socials { display: flex; align-items: center; gap: 13px; width: min(100%, 355px); }
.alpha-socials a { display: block; flex: 69 1 0; min-width: 0; transition: background-color .2s; }
.alpha-socials a:last-child { flex-grow: 191; }
.alpha-socials img { display: block; width: 100%; height: auto; }
.alpha-socials a:hover { background: rgba(144, 214, 234, .15); }
.alpha-socials a:focus-visible { outline: 2px solid #90d6ea; outline-offset: 4px; }
.site-footer__social { display: grid; justify-items: center; gap: 20px; width: min(355px, 100%); }

/* End */


/* Start:/local/templates/alpha_energy/inner-pages.css?179137661623430*/
.is-inner.is-services-page .site-main,
.is-inner.is-contacts-page .site-main {
	width: auto;
	max-width: none;
	margin-inline: 0;
	padding-top: 56px;
	padding-bottom: 0;
	background: #fff;
}

.services-page,
.contacts-page {
	overflow: hidden;
	color: var(--color-text);
	background: #fff;
}

.contacts-page__head h1 {
	margin: clamp(54px, 5.2vw, 80px) 0 clamp(42px, 4.5vw, 68px);
	color: var(--color-navy);
	font-size: clamp(48px, 4.9vw, 70px);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: 0;
}

.inner-breadcrumbs {
	display: flex;
	padding-top: clamp(44px, 4vw, 70px);
	align-items: center;
	gap: 10px;
	color: #90d6ea;
	font-size: clamp(15px, 1.05vw, 18px);
	font-weight: 500;
}

.inner-breadcrumbs a {
	transition: color .2s ease;
}

.inner-breadcrumbs a:hover {
	color: var(--color-blue);
}

.services-hero,
.contacts-hero {
	display: grid;
	padding: clamp(64px, 7vw, 118px) 0 clamp(70px, 7vw, 112px);
	grid-template-columns: minmax(0, .9fr) minmax(420px, .8fr);
	gap: clamp(52px, 8vw, 150px);
	align-items: end;
	border-bottom: 1px solid rgba(144, 214, 234, .72);
}

.services-hero__label,
.contacts-hero__label,
.contacts-form-copy > p {
	margin: 0 0 24px;
	color: var(--color-blue);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.services-hero h1,
.contacts-hero h1 {
	margin: 0;
	color: var(--color-navy);
	font-size: clamp(54px, 7.2vw, 118px);
	font-weight: 600;
	line-height: .92;
	letter-spacing: -.045em;
}

.services-hero__lead,
.contacts-hero > p {
	max-width: 720px;
	margin: 0;
	color: var(--color-blue);
	font-size: clamp(25px, 2.35vw, 40px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.025em;
}

.services-showcase {
	padding: clamp(78px, 8vw, 138px) 0;
	background: linear-gradient(177deg, #fff 0%, #f3fbff 52%, #e1f6ff 100%);
}

.services-showcase__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid rgba(34, 135, 200, .26);
	border-left: 1px solid rgba(34, 135, 200, .26);
}

.service-direction {
	display: grid;
	min-height: 590px;
	grid-template-rows: 310px 1fr;
	border-right: 1px solid rgba(34, 135, 200, .26);
	border-bottom: 1px solid rgba(34, 135, 200, .26);
	background: rgba(255, 255, 255, .46);
	transition: background-color .3s ease, transform .3s ease;
}

.service-direction:hover,
.service-direction.is-active {
	background: #fff;
}

.service-direction__media {
	position: relative;
	overflow: hidden;
	background: #102c5a;
}

.service-direction__media video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .68;
	filter: saturate(.75);
	transition: opacity .35s ease, filter .35s ease, transform .7s ease;
}

.service-direction:hover video,
.service-direction.is-active video {
	opacity: .92;
	filter: saturate(1);
	transform: scale(1.035);
}

.service-direction__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(14, 40, 84, .08), rgba(14, 40, 84, .68));
}

.service-direction__number {
	position: absolute;
	right: 28px;
	bottom: -18px;
	color: rgba(255, 255, 255, .84);
	font-size: clamp(92px, 9vw, 150px);
	font-weight: 300;
	line-height: .8;
	letter-spacing: -.06em;
}

.service-direction__body {
	display: flex;
	padding: clamp(32px, 3.2vw, 54px);
	flex-direction: column;
	align-items: flex-start;
}

.service-direction h2 {
	max-width: 650px;
	margin: 0 0 24px;
	color: var(--color-navy);
	font-size: clamp(27px, 2.1vw, 36px);
	font-weight: 700;
	line-height: 1.08;
	text-transform: uppercase;
}

.service-direction p {
	max-width: 640px;
	margin: 0 0 36px;
	color: var(--color-muted);
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.5;
}

.service-direction a,
.services-cta a,
.alpha-feedback button {
	display: inline-flex;
	margin-top: auto;
	align-items: center;
	gap: 28px;
	color: #005d92;
	font-size: 18px;
	font-weight: 700;
	transition: color .2s ease, gap .2s ease;
}

.service-direction a:hover,
.services-cta a:hover {
	gap: 38px;
	color: var(--color-cyan);
}

.services-cta {
	--cta-shift-x: 0px;
	--cta-shift-y: 0px;
	position: relative;
	min-height: clamp(610px, 52vw, 820px);
	padding: clamp(86px, 8vw, 138px) 0;
	overflow: hidden;
	background: #0d2c61;
	color: #fff;
	isolation: isolate;
}

.services-cta::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background:
		radial-gradient(circle at 76% 42%, rgba(0, 202, 235, .26), transparent 27%),
		linear-gradient(90deg, rgba(8, 35, 82, .97) 0%, rgba(17, 59, 112, .9) 52%, rgba(10, 43, 90, .62) 100%);
	content: "";
}

.services-cta__media {
	position: absolute;
	z-index: -2;
	inset: 0 0 0 47%;
	overflow: hidden;
	clip-path: polygon(24% 0, 100% 0, 100% 100%, 0 100%);
}

.services-cta__media img {
	width: calc(100% + 60px);
	height: calc(100% + 60px);
	margin: -30px;
	object-fit: cover;
	opacity: .62;
	filter: saturate(.76) contrast(1.08);
	transform: translate3d(var(--cta-shift-x), var(--cta-shift-y), 0) scale(1.06);
	transition: transform .2s ease-out;
}

.services-cta__word {
	position: absolute;
	right: -1vw;
	bottom: -4.5vw;
	color: rgba(255, 255, 255, .055);
	font-size: clamp(130px, 18vw, 350px);
	font-weight: 700;
	line-height: .8;
	letter-spacing: -.07em;
	pointer-events: none;
	white-space: nowrap;
}

.services-cta__inner {
	position: relative;
	z-index: 2;
	display: grid;
	min-height: clamp(430px, 36vw, 560px);
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(48px, 8vw, 150px);
	align-items: center;
}

.services-cta__content > p {
	margin: 0;
	color: #90d6ea;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.services-cta__content {
	max-width: 900px;
}

.services-cta__content > p {
	margin-bottom: 30px;
}

.services-cta h2 {
	margin: 0 0 clamp(42px, 5vw, 72px);
	font-size: clamp(48px, 5.2vw, 88px);
	font-weight: 600;
	line-height: .96;
	letter-spacing: -.045em;
}

.services-cta h2 em {
	display: block;
	color: #8eeaff;
	font-style: normal;
	font-weight: 400;
}

.services-cta__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.services-cta__tags span {
	padding: 9px 16px;
	border: 1px solid rgba(255, 255, 255, .34);
	border-radius: 30px;
	background: rgba(255, 255, 255, .06);
	font-size: 14px;
	font-weight: 600;
	backdrop-filter: blur(12px);
}

.services-cta .services-cta__action {
	min-width: 230px;
	margin: 0;
	padding: 20px 0 14px;
	border: 1px solid rgba(255, 255, 255, .66);
	border-width: 0 0 1px;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
	background: transparent;
	color: #fff;
	font-size: 18px;
	line-height: 1.06;
	text-transform: uppercase;
	transition: border-color .3s ease, color .3s ease, gap .3s ease;
}

.services-cta .services-cta__action:hover {
	gap: 48px;
	border-color: #8eeaff;
	color: #8eeaff;
}

.services-cta__action .arrow-icon {
	transition: transform .3s ease;
}

.services-cta__action:hover .arrow-icon {
	transform: translate(5px, -5px);
}

.contacts-office-section {
	padding-bottom: clamp(82px, 8vw, 142px);
}

.contacts-details {
	display: grid;
	margin-bottom: clamp(86px, 9vw, 150px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-left: 1px solid rgba(34, 135, 200, .3);
}

.contact-detail-card {
	display: flex;
	min-height: 270px;
	padding: clamp(34px, 3.5vw, 58px);
	flex-direction: column;
	border-right: 1px solid rgba(34, 135, 200, .3);
	color: var(--color-navy);
	transition: background-color .25s ease, color .25s ease;
}

.contact-detail-card:hover {
	background: var(--color-navy);
	color: #fff;
}

.contact-detail-card > span {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: auto;
	color: var(--color-blue);
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
}

.contact-detail-card > span b {
	color: #90d6ea;
	font-size: 30px;
	font-weight: 300;
}

.contact-detail-card:hover > span,
.contact-detail-card:hover small {
	color: #90d6ea;
}

.contact-detail-card strong {
	display: block;
	margin-top: 54px;
	font-size: clamp(23px, 2vw, 34px);
	font-weight: 600;
	line-height: 1.12;
}

.contact-detail-card small {
	display: block;
	margin-top: 14px;
	color: var(--color-muted);
	font-size: 15px;
	font-weight: 500;
}

.contacts-city-tabs {
	display: flex;
	max-width: 1588px;
	margin-bottom: clamp(34px, 3.2vw, 52px);
	margin-inline: auto;
	border-bottom: 1px solid rgba(144, 214, 234, .58);
	gap: 20px;
}

.contacts-city-tab {
	min-width: 248px;
	padding: 12px 28px;
	border: 0;
	border-bottom: 1.5px solid transparent;
	background: transparent;
	color: #90d6ea;
	cursor: pointer;
	font: 600 24.5px/1.12 var(--font-primary);
	letter-spacing: -.01em;
	transition: color .2s ease, border-color .2s ease;
}

.contacts-city-tab.is-active,
.contacts-city-tab:hover {
	border-color: #2287c8;
	color: #2287c8;
}

.contacts-office {
	display: grid;
	max-width: 1588px;
	margin-inline: auto;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	align-items: stretch;
}

.contacts-office[hidden] {
	display: none;
}

.contacts-office-card,
.contacts-office-photo {
	min-height: 400px;
}

.contacts-office-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 38px;
	padding: clamp(32px, 2.1vw, 40px);
}

.contacts-office-card--address,
.contacts-office-card--requisites {
	background: #1d4383;
	color: #fff;
}

.contacts-office-card--requisites {
	position: relative;
	overflow: hidden;
}

.contacts-office-card--requisites::before {
	position: absolute;
	z-index: 0;
	inset: 0;
	background: #1d4383;
	content: "";
}

.contacts-office-card--requisites > * {
	position: relative;
	z-index: 1;
}

.contacts-office-card--requisites > div {
	transform: translateX(10px);
}

.contacts-office-card--address h2,
.contacts-office-card--requisites h2 {
	margin: 0 0 15px;
	color: #90d6ea;
	font-size: clamp(28px, 2.5vw, 40px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

.contacts-office-card--address div,
.contacts-office-card--requisites div,
.contacts-office-card--requisites p {
	max-width: 680px;
	color: #fff;
	font-size: clamp(18px, 1.45vw, 24.5px);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -.01em;
}

.contacts-office-photo {
	overflow: hidden;
	background: #1d4383;
}

.contacts-office-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.contacts-office-card--light {
	align-items: flex-start;
	background: #cbecfb;
	color: #1d4383;
}

.contacts-contact-line,
.contacts-hotline {
	display: grid;
	gap: 10px;
}

.contacts-contact-line a,
.contacts-contact-phone,
.contacts-hotline a {
	color: #1d4383;
	font-size: clamp(28px, 2.5vw, 40px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.01em;
	text-transform: uppercase;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

.contacts-hotline span {
	max-width: 430px;
	color: #00a9cf;
	font-size: clamp(17px, 1.45vw, 24.5px);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -.01em;
}

.contacts-action {
	display: inline-flex;
	width: min(350px, 100%);
	max-width: 100%;
	min-height: 56px;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	margin-top: 22px;
	padding: 10px 30px;
	border: 0;
	background: #00a9cf;
	color: #fff;
	cursor: pointer;
	font: 600 clamp(20px, 1.65vw, 28px)/1.28 var(--font-primary);
	letter-spacing: -.01em;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease;
}

@media (min-width: 1181px) {
	.contacts-office {
		isolation: isolate;
		grid-template-columns: 42.2% 15.6% 42.2%;
		grid-template-rows: 400px clamp(430px, 31vw, 494px) 400px;
	}

	.contacts-office-card,
	.contacts-office-photo {
		min-height: 400px;
	}

	.contacts-office-card--address {
		z-index: 2;
		grid-column: 1 / 3;
		grid-row: 1;
	}

	.contacts-office-photo {
		z-index: 3;
		grid-column: 2 / 4;
		grid-row: 1;
		clip-path: polygon(27% 0, 100% 0, 100% 100%, 0 100%);
	}

	.contacts-office-card--light {
		z-index: 2;
		grid-column: 1 / 3;
		grid-row: 3;
	}

	.contacts-office-card--requisites {
		z-index: 3;
		grid-column: 2 / 4;
		grid-row: 3;
		align-items: flex-end;
		background: transparent;
	}

	.contacts-office-map {
		grid-column: 1 / 4;
		grid-row: 2;
	}

	.contacts-office-card--requisites::before {
		clip-path: polygon(27% 0, 100% 0, 100% 100%, 0 100%);
	}

	.contacts-office-card--address .contacts-office-card__body,
	.contacts-office-card--light > *,
	.contacts-office-card--requisites > div {
		width: min(100%, 678px);
	}

	.contacts-office-card--address .contacts-office-card__body + .contacts-office-card__body {
		margin-top: 0;
	}

	.contacts-office-card--requisites > div {
		width: min(100%, 420px);
		margin-right: clamp(46px, 7.9vw, 154px);
	}
}

.contacts-action:hover {
	background: #90d6ea;
	color: #1d4383;
}

.contacts-action .arrow-icon {
	flex: 0 0 34px;
}

.contacts-modal[hidden] {
	display: none;
}

body.is-contact-modal-open {
	overflow: hidden;
}

.contacts-modal {
	position: fixed;
	z-index: 400;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 24px;
}

.contacts-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(7, 25, 56, .62);
	backdrop-filter: blur(8px);
}

.contacts-modal__panel {
	position: relative;
	z-index: 1;
	width: min(760px, 100%);
	max-height: min(720px, calc(100vh - 48px));
	overflow: auto;
	padding: clamp(34px, 4vw, 58px);
	background: #fff;
	color: #1d4383;
	box-shadow: 0 24px 80px rgba(8, 30, 64, .24);
}

.contacts-modal__panel h2 {
	margin: 0 54px 26px 0;
	color: #2287c8;
	font-size: clamp(32px, 3vw, 48px);
	font-weight: 600;
	line-height: 1.05;
}

.contacts-modal__content {
	color: #1d4383;
	font-size: clamp(18px, 1.5vw, 23px);
	font-weight: 600;
	line-height: 1.28;
}

.contacts-modal__close {
	position: absolute;
	top: 22px;
	right: 22px;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(34, 135, 200, .35);
	border-radius: 50%;
	background: #fff;
	color: #1d4383;
	cursor: pointer;
	font: 400 34px/1 var(--font-primary);
}

.contacts-workspace {
	position: relative;
	min-height: clamp(760px, 59.0105vw, 1133px);
	padding: 0;
	overflow: hidden;
	background: #153f65 url("/upload/contacts-form-bg.png") center center / cover no-repeat;
	isolation: isolate;
}

.contacts-workspace__grid {
	position: absolute;
	inset: 0;
}

.contacts-form-copy h2 {
	position: absolute;
	z-index: 1;
	top: 0;
	left: clamp(42px, 8.02vw, 154px);
	width: min(81vw, 1555px);
	margin: 0;
	color: #fff;
	font-size: clamp(118px, 13.021vw, 250px);
	font-weight: 500;
	line-height: .876;
	letter-spacing: -.02em;
}

.contacts-form-copy > p,
.contacts-form-copy > div {
	display: none !important;
}

.contacts-form-shell {
	position: absolute;
	z-index: 2;
	top: 38.7%;
	left: 50.36%;
	width: min(40.884vw, 785px);
	min-height: min(33.125vw, 636px);
	padding: clamp(42px, 3.646vw, 70px) clamp(32px, 2.708vw, 52px);
	background: rgba(17, 44, 90, .35);
	-webkit-backdrop-filter: blur(23.5px);
	backdrop-filter: blur(23.5px);
}

.alpha-feedback form {
	display: grid;
	gap: clamp(27px, 2.604vw, 50px);
}

.alpha-feedback label:not(.alpha-feedback__consent) {
	display: block;
	color: rgba(215, 236, 250, .95);
	font-size: clamp(17px, 1.276vw, 24.5px);
	font-weight: 600;
}

.alpha-feedback input[type="text"],
.alpha-feedback input[type="email"],
.alpha-feedback input[type="tel"],
.alpha-feedback textarea {
	width: 100%;
	height: clamp(32px, 1.927vw, 37px);
	padding: 0 0 9px;
	border: 0;
	border-bottom: 1px solid #90d6ea;
	border-radius: 0;
	outline: 0;
	background: transparent;
	color: #fff;
	font: 600 clamp(17px, 1.276vw, 24.5px)/1.12 var(--font-primary);
	letter-spacing: -.01em;
	transition: border-color .2s ease, color .2s ease;
}

.alpha-feedback input::placeholder,
.alpha-feedback textarea::placeholder {
	color: rgba(215, 236, 250, .95);
	opacity: 1;
}

.alpha-feedback textarea {
	min-height: clamp(32px, 1.927vw, 37px);
	resize: none;
	overflow: hidden;
}

.alpha-feedback input:focus,
.alpha-feedback textarea:focus {
	border-color: #fff;
}

.alpha-feedback__consent {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	color: #cbecfb;
	font: 500 clamp(12px, .938vw, 18px)/1.1 var(--font-body);
	cursor: pointer;
}

.alpha-feedback__consent input {
	flex: 0 0 clamp(26px, 1.875vw, 36px);
	width: clamp(26px, 1.875vw, 36px);
	height: clamp(26px, 1.875vw, 36px);
	margin: 0;
	border: .75px solid #cbecfb;
	border-radius: 4px;
	accent-color: #1d4383;
}

.alpha-feedback__consent a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.alpha-feedback button {
	display: inline-flex;
	width: min(282px, 100%);
	min-height: clamp(52px, 3.021vw, 58px);
	margin: 0;
	padding: 11px 30px;
	border: 0;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	background: #cbecfb;
	color: #1d4383;
	cursor: pointer;
	font: 600 clamp(20px, 1.458vw, 28px)/1.28 var(--font-primary);
	letter-spacing: -.01em;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease;
}

.alpha-feedback button:hover {
	background: #fff;
	color: #1d4383;
}

.alpha-feedback__message {
	margin-bottom: 24px;
	padding: 16px 20px;
	border-left: 4px solid #90d6ea;
	background: rgba(255, 255, 255, .92);
	font-weight: 600;
}

.alpha-feedback__message--error {
	border-color: #c63838;
	color: #8d1f1f;
}

.alpha-feedback__message--success {
	border-color: var(--color-cyan);
	color: var(--color-navy);
}

.contacts-map {
	height: clamp(430px, 48vw, 720px);
	background: #dfeef5;
}

.contacts-office-map {
	grid-column: 1 / -1;
	height: clamp(430px, 31vw, 494px);
}

.contacts-map__canvas {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: #d4eaf7;
}

.contacts-map__canvas > iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.contacts-map__error {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	padding: 32px;
	color: #1d4383;
	font-weight: 600;
	text-align: center;
}

.contacts-hero__aside {
	display: grid;
	gap: 34px;
}

.contacts-hero__aside > p {
	max-width: 720px;
	margin: 0;
	color: var(--color-blue);
	font-size: clamp(25px, 2.35vw, 40px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.025em;
}

.contacts-hero__aside a {
	display: inline-flex;
	width: max-content;
	align-items: center;
	gap: 18px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(34, 135, 200, .42);
	color: #005d92;
	font-size: 18px;
	font-weight: 700;
	transition: gap .2s ease, color .2s ease;
}

.contacts-hero__aside a:hover {
	gap: 28px;
	color: var(--color-cyan);
}

@media (max-width: 1080px) {
	.services-hero,
	.contacts-hero,
	.contacts-workspace__grid {
		grid-template-columns: 1fr;
	}

	.contacts-workspace {
		min-height: 1050px;
	}

	.contacts-form-copy h2 {
		top: 18px;
		left: clamp(32px, 6vw, 64px);
		width: calc(100% - 64px);
		font-size: clamp(112px, 17vw, 184px);
	}

	.contacts-form-shell {
		top: 390px;
		right: clamp(28px, 6vw, 64px);
		left: auto;
		width: min(690px, calc(100% - 56px));
		min-height: 0;
	}

	.services-hero__lead,
	.contacts-hero > p {
		max-width: 900px;
	}

	.services-cta__inner {
		grid-template-columns: 1fr;
	}

	.services-cta__inner {
		min-height: auto;
	}

	.services-cta__action {
		justify-self: end;
	}

	.contacts-city-tabs {
		overflow-x: auto;
	}

	.contacts-city-tab {
		min-width: max-content;
	}

	.contacts-details {
		grid-template-columns: 1fr;
		border-bottom: 1px solid rgba(34, 135, 200, .3);
	}

	.contact-detail-card {
		min-height: 220px;
		border-bottom: 0;
	}
}

@media (max-width: 1180px) {
	.is-inner.is-services-page .site-main,
	.is-inner.is-contacts-page .site-main {
		padding-top: 68px;
	}

	.inner-breadcrumbs {
		padding-top: 28px;
	}

	.services-hero,
	.contacts-hero {
		padding: 48px 0 62px;
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.services-hero h1,
	.contacts-hero h1 {
		font-size: clamp(50px, 17vw, 72px);
	}

	.services-hero__lead,
	.contacts-hero > p {
		font-size: 25px;
	}

	.services-showcase {
		padding: 62px 0 76px;
	}

	.services-showcase__grid {
		grid-template-columns: 1fr;
	}

	.service-direction {
		min-height: 0;
		grid-template-rows: 58vw 1fr;
	}

	.service-direction__body {
		padding: 28px 22px 34px;
	}

	.service-direction p {
		font-size: 16px;
	}

	.services-cta {
		min-height: 0;
		padding: 72px 0;
	}

	.services-cta__media {
		inset: 0;
		clip-path: none;
	}

	.services-cta::before {
		background: linear-gradient(180deg, rgba(8, 35, 82, .94), rgba(8, 35, 82, .78));
	}

	.services-cta__inner {
		gap: 46px;
	}

	.services-cta h2 {
		font-size: clamp(46px, 13vw, 66px);
	}

	.services-cta .services-cta__action {
		width: 100%;
		min-width: 0;
		justify-self: start;
		padding: 18px 0 12px;
	}

	.contacts-page__head h1 {
		margin: 42px 0 34px;
	}

	.contacts-office-section {
		padding-bottom: 76px;
	}

	.contacts-city-tabs {
		margin-bottom: 26px;
		gap: 8px;
	}

	.contacts-city-tab {
		padding: 10px 16px;
		font-size: 19px;
	}

	.contacts-office {
		grid-template-columns: 1fr;
	}

	.contacts-office-card,
	.contacts-office-photo {
		min-height: 280px;
	}

	.contacts-office-card {
		padding: 30px 22px;
		gap: 30px;
	}

	.contacts-contact-line a,
	.contacts-contact-phone,
	.contacts-hotline a {
		font-size: 27px;
	}

	.contacts-action {
		width: 100%;
		min-width: 0;
		gap: 18px;
		padding-inline: 20px;
	}

	.contacts-details {
		margin-bottom: 76px;
	}

	.contact-detail-card {
		min-height: 196px;
		padding: 28px 22px;
	}

	.contact-detail-card strong {
		margin-top: 42px;
	}

	.contacts-workspace {
		min-height: 850px;
		padding: 0;
	}

	.contacts-workspace__grid {
		inset: 0;
	}

	.contacts-form-copy h2 {
		top: 28px;
		left: 20px;
		width: calc(100% - 40px);
		font-size: clamp(64px, 20vw, 88px);
		line-height: .9;
	}

	.contacts-form-shell {
		top: 235px;
		right: 16px;
		left: 16px;
		width: auto;
		padding: 36px 20px;
	}

	.alpha-feedback form {
		gap: 28px;
	}

	.alpha-feedback input[type="text"],
	.alpha-feedback input[type="email"],
	.alpha-feedback input[type="tel"],
	.alpha-feedback textarea {
		height: 35px;
		min-height: 35px;
		font-size: 18px;
	}

	.alpha-feedback button {
		width: min(282px, 100%);
		justify-content: space-between;
	}

	.alpha-feedback__consent {
		gap: 14px;
		font-size: 13px;
	}

	.alpha-feedback__consent input {
		flex-basis: 26px;
		width: 26px;
		height: 26px;
	}

	.contacts-map {
		height: 440px;
	}
}

/* Let form content determine the section height, including validation messages. */
.contacts-page .contacts-workspace { min-height: 0; padding: 0 0 clamp(64px, 6vw, 116px); overflow: visible; }
.contacts-page .contacts-workspace__grid { position: relative; inset: auto; padding-top: clamp(320px, 23vw, 442px); }
.contacts-page .contacts-form-shell { position: relative; inset: auto; margin-left: 50.36%; width: min(40.884vw, 785px); min-height: 0; }
.contacts-page .alpha-feedback form { gap: clamp(24px, 2.1vw, 40px); }
.contacts-page .alpha-feedback input, .contacts-page .alpha-feedback textarea { font-size: clamp(17px, 1.276vw, 24.5px); }
.contacts-page .alpha-feedback__consent { font-size: clamp(13px, .938vw, 18px); line-height: 1.4; }
.contacts-office-card--requisites .alpha-socials { margin-top: 30px; }
@media (max-width: 767px) {
 .contacts-page .contacts-workspace__grid { padding-top: 235px; }
 .contacts-page .contacts-form-shell { margin: 0 16px; width: auto; padding: 36px 20px; }
 .contacts-office-card--requisites > div { transform: none; }
}

/* End */


/* Start:/local/templates/alpha_energy/mobile-header.css?17912686363883*/
/* Shared mobile header and navigation shell for every site page. */
.site-nav__row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.site-nav__dropdown-toggle {
	display: inline-flex;
	width: 30px;
	height: 28px;
	padding: 0;
	border: 0;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: #2287c8;
	cursor: pointer;
	pointer-events: auto;
}

.site-nav__item.has-dropdown .site-nav__link::after {
	right: 0;
}

body.is-nav-dropdown-open .site-nav__item.is-dropdown-open > .site-nav__row .site-nav__link {
	color: #2287c8;
}

body.is-nav-dropdown-open .site-nav__item.is-dropdown-open > .site-nav__row .site-nav__chevron {
	background-image: url("/local/templates/alpha_energy/assets/images/chevron-down-blue.png");
}

@media (max-width: 1180px) {
	.site-header,
	.site-header.is-scrolled,
	.site-header__top,
	.site-header__nav-shell {
		height: 83px;
	}

	.site-header__top,
	.site-header.is-scrolled .site-header__top {
		border-bottom: 0;
		background: #ffffff;
		box-shadow: none;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.site-header__top-inner {
		width: calc(100% - 40px);
		gap: 0;
	}

	.site-logo {
		width: 105px;
		max-width: none;
	}

	.site-header__details {
		display: none;
	}

	.site-header__nav-shell,
	.site-header.is-scrolled .site-header__nav-shell {
		top: 0;
		right: 0;
		left: auto;
		width: 58px;
		height: 83px;
		background: #ffffff;
		box-shadow: none;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.site-header__toggle {
		top: 17px;
		right: 8px;
		width: 46px;
		height: 48px;
		padding: 8px 4px;
		color: #2287c8;
	}

	.site-header__toggle > span:not(.visually-hidden) {
		height: 2px;
		margin: 7px 0;
	}

	.site-header__close-icon {
		display: none;
		width: 24px;
		height: 24px;
		flex: 0 0 24px;
	}

	.site-header__toggle[aria-expanded="true"] {
		display: flex;
		padding: 0;
		align-items: center;
		justify-content: center;
	}

	.site-header__toggle[aria-expanded="true"] > span:not(.visually-hidden) {
		display: none;
	}

	.site-header__toggle[aria-expanded="true"] > .site-header__close-icon {
		display: block;
	}

	.site-nav {
		top: 83px;
		text-align: left;
	}

	.site-nav__list,
	.site-nav__item,
	.site-nav__dropdown-list {
		align-items: flex-start;
		text-align: left;
	}

	.site-nav__row {
		width: 100%;
		min-height: 77px;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
	}

	.site-nav__row .site-nav__link {
		width: auto;
		min-width: 0;
		min-height: 77px;
		padding: 0 0 0 16px;
		flex: 1 1 auto;
		justify-content: flex-start;
		text-align: left;
	}

	.site-nav__label,
	.site-nav__dropdown-link {
		text-align: left;
	}

	.site-nav__dropdown-toggle {
		width: 50px;
		height: 77px;
		flex: 0 0 50px;
	}

	.site-nav__dropdown-toggle:focus-visible {
		outline: 1px solid #00a9cf;
		outline-offset: -4px;
	}

	.mobile-nav__contacts {
		margin-top: 20px;
		gap: 20px;
	}

	.mobile-nav__contact-links {
		display: flex;
		width: 100%;
		height: 75px;
		flex-direction: column;
		align-items: flex-start;
		gap: 25px;
	}

	.mobile-nav__contact-links > a {
		color: #1d4383;
		font-family: var(--font-primary);
		font-size: 22.5px;
		font-weight: 700;
		letter-spacing: -.01em;
		line-height: 25px;
		text-transform: uppercase;
	}

	.mobile-nav__socials {
		display: flex;
		width: 292.27px;
		height: 49.11px;
		align-items: center;
		gap: 16px;
	}

	.mobile-nav__socials a {
		display: flex;
		height: 49.11px;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
	}

	.mobile-nav__socials a:nth-child(1),
	.mobile-nav__socials a:nth-child(2) {
		width: 54.02px;
	}

	.mobile-nav__socials a:nth-child(3) {
		width: 152.24px;
	}

	.mobile-nav__socials img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.is-home .site-main,
	body.is-inner[class] .site-main {
		padding-top: 83px;
	}
}

/* End */


/* Start:/local/templates/alpha_energy/large-display.css?17912686423060*/
/*
 * Short desktop viewport corrections.
 *
 * The source layout is the 1920px Figma artboard. A short laptop/TV viewport
 * may change the vertical flow, but it must never introduce a second global
 * scale or turn wide Figma cards into square blocks.
 */

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

.is-home .process-card h3,
.is-home .process-card:is(:hover, :focus-visible, .is-active) p {
	overflow: visible;
}

@media (min-width: 1181px) and (max-height: 920px) {
	:root {
		--large-display-section-height: max(760px, 100svh);
	}

	.site-header .site-nav__row,
	.site-header .site-nav__link,
	.site-header .site-nav__label {
		flex-wrap: nowrap;
		white-space: nowrap;
	}

	.site-header .site-nav__list {
		gap: clamp(34px, 3.2vw, 50px);
	}

	.site-header .site-nav__link {
		font-size: clamp(19px, 1.1458vw, 22px);
	}

	/* Fullscreen storytelling remains a desktop composition. */
	.is-home .about-stack {
		--about-panel-height: var(--large-display-section-height);
	}

	.is-home .about-stack__viewport > .about-panel,
	.is-home .about-stack__viewport > .intro-section.about-panel {
		height: var(--about-panel-height);
		min-height: var(--about-panel-height);
	}

	.is-home .story-section__content,
	.is-home .team-section__content,
	.is-home .metrics-section .container {
		box-sizing: border-box;
		height: 100%;
		min-height: 100%;
	}

	/* Work stages keep the 829.5 / 251 Figma ratio. */
	.is-home .process-section .container {
		width: min(1584px, calc(100% - (var(--gutter) * 2)));
	}

	.is-home .process-card,
	.is-home .process-card:nth-child(odd),
	.is-home .process-card:nth-child(even) {
		height: auto;
		min-height: 0;
		aspect-ratio: 829.5 / 251;
	}

	.is-home .process-card__number {
		height: 104.78%;
		line-height: 1.547;
	}

	.is-home .process-card h3,
	.is-home .process-card:is(:hover, :focus-visible, .is-active) p {
		max-height: none;
	}

	/* The map fits a short viewport without shrinking the whole website. */
	.is-home .geography-section,
	.is-home .geography-section__layout {
		height: var(--large-display-section-height);
		min-height: var(--large-display-section-height);
	}

	.is-home .geography-section h2 {
		top: clamp(52px, 8vh, 72px);
		left: max(var(--gutter), calc(50% - 792px));
		max-width: calc(100% - (var(--gutter) * 2));
		font-size: clamp(52px, 3.6458vw, 70px);
		white-space: normal;
	}

	.is-home .geography-map-wrap {
		top: clamp(76px, 11vh, 104px);
		bottom: auto;
		width: min(100vw, 1920px);
		transform: translateX(-50%);
	}

	/* A direction showcase may be shorter, its Figma cards stay unchanged. */
	.is-direction-detail-page .direction-solutions {
		height: var(--large-display-section-height);
		min-height: var(--large-display-section-height);
	}

	.contacts-modal__panel,
	.direction-competency-modal__dialog {
		max-height: calc(100svh - 32px);
		overflow-y: auto;
	}
}

@media not all {
	.is-home .process-card,
	.is-home .process-card:nth-child(odd),
	.is-home .process-card:nth-child(even) {
		height: auto;
		min-height: 0;
		aspect-ratio: 829.5 / 251;
	}
}

/* End */


/* Start:/local/templates/alpha_energy/responsive-system.css?179126864276708*/
/*
 * Shared non-mobile responsive system.
 *
 * Figma reference: 1920px artboard, 1584px content rail. The reference sizes
 * are maximums, not values that grow with a television. Between 1025px and
 * 1920px layout and typography adapt by width only; viewport height never
 * scales the complete interface.
 */

html {
	max-width: 100%;
	overflow-x: hidden;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

@supports (overflow: clip) {
	html,
	body {
		overflow-x: clip;
	}
}

body,
.site-main,
main,
section,
article,
header,
footer,
nav,
.container,
.site-header__top-inner,
.site-header__nav-inner {
	min-width: 0;
}

:where(img, picture, video, canvas, svg) {
	max-width: 100%;
}

:where(img, video) {
	display: block;
}

:where(h1, h2, h3, h4, p, li, dd, dt, blockquote) {
	max-width: 100%;
}

.inner-breadcrumbs,
.projects-page__breadcrumbs,
.news-page__breadcrumbs,
.direction-detail__breadcrumbs,
.about-page__breadcrumbs,
.site-nav__label,
.service-direction h2,
.projects-card__title,
.projects-featured__title,
.news-card__title,
.news-featured__title,
.contact-detail-card strong {
	overflow-wrap: anywhere;
}

.data-table {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.data-table th,
.data-table td {
	min-width: min(220px, 72vw);
}

.projects-featured__slide,
.projects-featured__body,
.news-featured,
.news-card,
.service-direction,
.service-direction__body,
.contacts-hero > *,
.services-hero > *,
.contacts-workspace__grid > *,
.about-step-card > * {
	min-width: 0;
}

/* Desktop and laptop layouts use the Figma rail without a second scale. */
@media (min-width: 1181px) {
	:root {
		--container: 1584px;
		--gutter: clamp(32px, 4vw, 72px);
	}

	.site-header,
	.site-header__top,
	.site-header__nav-shell {
		height: 80px;
	}

	.site-main {
		padding-top: 80px;
	}

	.site-logo {
		width: 126px;
		max-width: none;
	}

	.site-header__details {
		box-sizing: border-box;
		flex: 0 0 121.37px;
		width: 121.37px;
		height: 52.48px;
		justify-content: flex-end;
		gap: 50px;
		padding: 10px 0;
		background: transparent;
		border-radius: 0;
	}

	.header-detail {
		width: 42px;
		height: 42px;
	}

	.header-detail:nth-child(1) {
		flex: 0 0 38.89px;
		width: 38.89px;
		height: 26.92px;
	}

	.header-detail:nth-child(2) {
		flex: 0 0 32.48px;
		width: 32.48px;
		height: 32.48px;
	}

	.header-detail:nth-child(1)::before {
		width: 38.89px;
		height: 26.92px;
	}

	.header-detail:nth-child(2)::before {
		width: 32.48px;
		height: 32.48px;
	}

	.site-header .site-nav__row,
	.site-header .site-nav__link,
	.site-header .site-nav__label {
		flex-wrap: nowrap;
		white-space: nowrap;
	}

	.site-header .site-nav__link {
		min-height: 28px;
		font-size: clamp(19px, 1.1458vw, 22px);
		line-height: 24px;
	}

	/* About page: direct proportional mapping of the 1920px Figma values. */
	.is-about-page .about-hero h1,
	.is-about-page .about-hero__lead,
	.is-about-page .about-missions__intro h2,
	.is-about-page .about-steps h2,
	.is-about-page .about-licenses__intro h2 {
		font-size: clamp(60px, 3.6458vw, 70px);
	}

	.is-about-page .about-hero__quote {
		font-size: clamp(24px, 1.6667vw, 32px);
	}

	.is-about-page .about-steps__list {
		width: min(1316px, 100%);
		height: auto;
		aspect-ratio: 1316 / 300;
		container-type: inline-size;
	}

	.is-about-page .about-step-card,
	.is-about-page .about-step-card.is-active,
	.is-about-page .about-step-card.is-fill-active {
		grid-template-columns: 15.96% minmax(0, 1fr) 31.91%;
		gap: 3.04%;
		height: 100%;
		min-height: 0;
		padding: 0 0 0 3.57%;
	}

	.is-about-page .about-step-card__number {
		padding-right: 14.29%;
		font-size: clamp(128px, 12.918cqw, 170px);
	}

	.is-about-page .about-step-card__body {
		padding-top: 3.8cqw;
	}

	.is-about-page .about-step-card h3 {
		font-size: clamp(30px, 3.04cqw, 40px);
	}

	.is-about-page .about-step-card__body > div {
		font-size: clamp(18px, 1.862cqw, 24.5px);
	}

	.is-about-page .about-step-card__image {
		width: calc(100% - 5px);
		height: calc(100% - 10px);
		align-self: center;
		justify-self: start;
	}

	/* Homepage stages and preview cards keep their design ratios and content. */
	.is-home .process-section .container {
		width: min(1584px, calc(100% - (var(--gutter) * 2)));
	}

	.is-home .process-card,
	.is-home .process-card:nth-child(odd),
	.is-home .process-card:nth-child(even) {
		height: auto;
		min-height: 0;
		aspect-ratio: 829.5 / 251;
	}

	.is-home .process-card h3,
	.is-home .process-card:is(:hover, :focus-visible, .is-active) p {
		max-height: none;
		overflow: visible;
	}

	.is-home .home-projects-grid,
	.is-home .home-news-grid {
		align-items: stretch;
		grid-auto-rows: auto;
	}

	.is-home .home-project-card,
	.is-home .home-news-card,
	.is-home .home-news-card--1,
	.is-home .home-news-card--2,
	.is-home .home-news-card--3 {
		height: auto;
		overflow: visible;
	}

	.is-home .home-project-card__image {
		height: auto;
		aspect-ratio: 465 / 297;
	}

	/* Map artwork is capped on TVs, while markers follow the 1920px scale. */
	.is-home .geography-map-wrap {
		width: min(100vw, 1920px);
		container-type: inline-size;
		transform: translateX(-50%);
	}

	.is-home .geography-point {
		width: clamp(9px, .625vw, 12px);
		height: clamp(9px, .625vw, 12px);
		border-width: clamp(1px, .1042vw, 2px);
	}

	.is-home .geography-point::after {
		inset: clamp(-6px, -.3125vw, -4px);
	}

	.is-home .geography-point--project {
		width: clamp(42px, 3vw, 56px);
		height: clamp(42px, 3vw, 56px);
		border: 0;
		box-shadow: none;
	}

	.is-home .geography-point--project::after {
		inset: 2px;
	}

	/* Fixed-size Figma cards remain small on large televisions. */
	.direction-solution-card,
	.direction-solutions__preview {
		width: 385px;
	}

	.direction-solution-card {
		min-height: 280px;
	}

	.direction-solutions__preview {
		height: 270px;
	}
}

/* Compact laptops keep normal-size cards and reflow the rail earlier. */
@media (min-width: 1181px) and (max-width: 1727px) {
	.projects-list,
	.news-list {
		grid-template-columns: repeat(2, minmax(0, 515px));
		justify-content: space-between;
	}

	.home-projects-grid {
		grid-template-columns: repeat(2, minmax(0, 528px));
		justify-content: space-between;
	}

	.direction-project-card {
		width: min(514px, calc((100% - 20px) / 2));
		min-width: min(514px, calc((100% - 20px) / 2));
	}

	.direction-work-card {
		width: min(515px, calc((100% - 20px) / 2));
		min-width: min(515px, calc((100% - 20px) / 2));
		height: 534px;
		min-height: 534px;
	}
}

/* Legacy hybrid rules are intentionally unreachable: up to 1180px is mobile,
 * and the complete desktop composition starts at 1181px. */
@media not all {
	:root {
		--container: 1584px;
		--gutter: clamp(24px, 4vw, 48px);
	}

	.site-header,
	.site-header__top,
	.site-header__nav-shell {
		height: 72px;
	}

	.site-main {
		padding-top: 72px;
	}

	.site-header__top-inner {
		gap: 12px;
	}

	.site-logo {
		width: clamp(112px, 10.68vw, 126px);
		max-width: none;
	}

	.site-header__details {
		margin-right: 72px;
	}

	.site-header__nav-shell,
	.site-header.is-scrolled .site-header__nav-shell {
		position: absolute;
		top: 0;
		right: 0;
		left: auto;
		width: 72px;
		height: 72px;
		background: rgba(255, 255, 255, .96);
		box-shadow: none;
		transform: none;
	}

	.site-header__nav-inner {
		width: 100%;
		justify-content: center;
	}

	.site-header__toggle {
		position: absolute;
		z-index: 4;
		top: 10px;
		right: 10px;
		display: block;
	}

	.site-nav {
		position: fixed;
		top: 72px;
		right: 0;
		bottom: 0;
		left: 0;
		display: none;
		overflow-x: hidden;
		overflow-y: auto;
		padding: 32px var(--gutter) 48px;
		background: rgba(255, 255, 255, .98);
		pointer-events: auto;
		overscroll-behavior: contain;
	}

	.site-nav.is-open {
		display: block;
	}

	.site-nav__list {
		width: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	.site-nav__item,
	.site-nav__item.has-dropdown,
	.site-nav__row {
		width: 100%;
	}

	.site-nav__row {
		align-items: center;
		justify-content: space-between;
	}

	.site-nav__link {
		min-width: 0;
		font-size: clamp(24px, 3vw, 30px);
		line-height: 1.15;
		white-space: normal;
	}

	.site-nav__dropdown,
	.site-nav__dropdown--wide {
		position: static;
		width: 100%;
		min-width: 0;
		margin-top: 4px;
		padding: 0 0 10px 18px;
		border: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		pointer-events: auto;
		transform: none;
		visibility: visible;
	}

	.site-nav__dropdown-link,
	.site-nav__dropdown--wide .site-nav__dropdown-link {
		width: 100%;
		min-height: auto;
		margin: 0;
		padding: 7px 0;
		font-size: 16px;
		line-height: 1.25;
		white-space: normal;
	}

	/* As on the reference, zoomed desktop typography stays substantial. */
	.is-about-page .about-hero h1,
	.is-about-page .about-hero__lead,
	.is-about-page .about-missions__intro h2,
	.is-about-page .about-steps h2,
	.is-about-page .about-licenses__intro h2 {
		font-size: clamp(52px, 5.5vw, 60px);
	}

	.services-showcase__grid,
	.projects-list,
	.news-list,
	.home-projects-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.services-hero,
	.contacts-hero {
		grid-template-columns: minmax(0, 1fr);
	}

	.services-hero__lead,
	.contacts-hero__aside,
	.contacts-hero__aside > p,
	.contacts-hero > p {
		max-width: 900px;
	}

	.projects-filter,
	.news-filter,
	.home-projects-filter,
	.home-news-filter,
	.contacts-city-tabs {
		max-width: 100%;
		flex-wrap: wrap;
	}

	.is-home .direction-sector__title {
		font-size: clamp(22px, 2.55vw, 30px);
		line-height: 1.2;
	}

	.is-home .process-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.is-home .process-card,
	.is-home .process-card:nth-child(odd),
	.is-home .process-card:nth-child(even) {
		width: 100%;
		height: auto;
		min-height: 0;
		aspect-ratio: 829.5 / 251;
	}

	.is-home .geography-section,
	.is-home .geography-section__layout {
		height: max(650px, 100svh);
		min-height: max(650px, 100svh);
	}

	.is-home .geography-section h2 {
		top: 48px;
		left: var(--gutter);
		max-width: calc(100% - (var(--gutter) * 2));
		font-size: clamp(38px, 5vw, 52px);
		white-space: normal;
	}

	.is-home .geography-map-wrap {
		top: 88px;
		width: min(132vw, 1260px);
		container-type: inline-size;
		transform: translateX(-50%);
	}

	.is-home .geography-point {
		width: 14px;
		height: 14px;
		border-width: 2px;
		box-shadow: 0 0 0 2px rgba(29, 67, 131, .5), 0 7px 13px rgba(2, 15, 35, .32);
	}

	.is-home .geography-point::after {
		inset: -7px;
	}

	.is-home .geography-point--project {
		width: 56px;
		height: 56px;
		border: 0;
		box-shadow: none;
	}

	.is-home .geography-point--project::after {
		inset: 2px;
	}

	.service-direction {
		grid-template-rows: clamp(220px, 28vw, 310px) 1fr;
	}

	.projects-featured__image,
	.news-featured__image {
		min-height: clamp(280px, 38vw, 360px);
	}

	.direction-work-card {
		width: min(515px, 100%);
		min-width: min(515px, 100%);
		height: 534px;
		min-height: 534px;
	}

	.direction-project-card {
		width: min(514px, 100%);
		min-width: min(514px, 100%);
	}
}

@media not all {
	.contacts-workspace__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* TVs never enlarge the 1920px composition. Backgrounds remain full bleed. */
@media (min-width: 1921px) {
	:root {
		--container: 1584px;
		--gutter: 72px;
	}

	.container,
	.site-header__top-inner,
	.site-header__nav-inner {
		width: 1584px;
		max-width: calc(100% - 144px);
	}
}

@media (max-height: 700px) {
	.contacts-modal,
	.direction-competency-modal {
		padding: 12px;
	}

	.contacts-modal__panel,
	.direction-competency-modal__dialog {
		max-height: calc(100svh - 24px);
	}
}

/* Keep competency details inside short landscape viewports created by browser zoom. */
@media (min-width: 520px) and (max-width: 1180px) and (max-height: 700px) {
	.direction-competency-modal {
		overflow: hidden;
		place-items: center;
	}

	.direction-competency-modal__dialog {
		width: min(100%, 1050px);
		max-height: calc(100svh - 24px);
		padding: clamp(12px, 3svh, 22px);
		overflow: hidden;
	}

	.direction-competency-modal__close {
		top: 6px;
		right: 6px;
		width: clamp(28px, 7svh, 36px);
		height: clamp(28px, 7svh, 36px);
		font-size: clamp(24px, 6svh, 32px);
	}

	.direction-competency-modal__panel {
		grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
		gap: clamp(8px, 2vw, 18px);
	}

	.direction-competency-modal__panel h3 {
		font-size: clamp(17px, 4svh, 28px);
		line-height: 1.05;
	}

	.direction-competency-modal__steps ul {
		margin-top: clamp(5px, 1.5svh, 12px);
	}

	.direction-competency-modal__steps li {
		padding: clamp(5px, 1.4svh, 10px) 4px clamp(5px, 1.4svh, 10px) clamp(28px, 4vw, 42px);
		font-size: clamp(10px, 1.6vw, 16px);
		font-weight: 500;
		line-height: 1.12;
	}

	.direction-competency-modal__steps li::before {
		left: clamp(3px, 1vw, 10px);
		border-top-width: clamp(7px, 1.4vw, 11px);
		border-left-width: clamp(10px, 1.8vw, 15px);
	}

	.direction-competency-modal__facts {
		gap: clamp(7px, 1.8svh, 14px);
	}

	.direction-competency-modal__facts > div {
		min-height: 0;
		padding: clamp(14px, 4svh, 28px) 24% clamp(12px, 3svh, 22px) clamp(12px, 3vw, 28px);
		clip-path: polygon(0 0, 100% 0, 78% 100%, 0 100%);
	}

	.direction-competency-modal__facts p {
		max-width: none;
		margin-top: clamp(6px, 1.8svh, 12px);
		font-size: clamp(10px, 1.6vw, 15px);
		font-weight: 500;
		line-height: 1.12;
	}
}

/*
 * Proportional non-mobile canvas.
 *
 * One unit is one percent of a 1920 x 1080 composition.  Using the smaller
 * width/height unit is important for browser zoom and short laptop screens:
 * typography, controls and full-screen scenes shrink together instead of
 * keeping desktop minimums and colliding with one another.
 */
@media (min-width: 1181px) and (max-width: 1919px),
	(min-width: 1920px) and (max-height: 920px) {
	:root {
		--ae-frame-unit: min(1vw, 1.7778svh);
		--ae-header-height: clamp(44px, calc(var(--ae-frame-unit) * 4.1667), 80px);
		--gutter: clamp(12px, calc(var(--ae-frame-unit) * 3.75), 72px);
	}

	.site-header,
	.site-header__top,
	.site-header__nav-shell {
		height: var(--ae-header-height);
	}

	.site-main,
	.is-inner.is-services-page .site-main,
	.is-inner.is-contacts-page .site-main {
		padding-top: var(--ae-header-height);
	}

	.site-logo {
		width: clamp(72px, calc(var(--ae-frame-unit) * 6.5625), 126px);
	}

	.header-detail {
		width: clamp(28px, calc(var(--ae-frame-unit) * 2.1875), 42px);
		height: clamp(28px, calc(var(--ae-frame-unit) * 2.1875), 42px);
	}

	.site-header .site-nav__list {
		gap: clamp(12px, calc(var(--ae-frame-unit) * 2.6), 50px);
	}

	.site-header .site-nav__link,
	.site-header .site-nav__label {
		font-size: clamp(12px, calc(var(--ae-frame-unit) * 1.1458), 22px);
		line-height: 1.1;
	}

	/* Homepage hero always has room for its title, CTA and timeline. */
	.is-home .hero,
	.is-home .hero__content {
		height: calc(100svh - var(--ae-header-height));
		min-height: calc(100svh - var(--ae-header-height));
	}

	.is-home .hero__content {
		box-sizing: border-box;
		width: min(82.5vw, 1584px);
		padding: clamp(12px, calc(var(--ae-frame-unit) * 3), 58px) 0 clamp(12px, calc(var(--ae-frame-unit) * 2.4), 46px);
	}

	.is-home .hero__copy {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
		gap: clamp(12px, calc(var(--ae-frame-unit) * 2.08), 40px);
	}

	.is-home .hero h1 {
		max-width: min(42.19vw, 810px);
		font-size: clamp(16px, calc(var(--ae-frame-unit) * 3.6458), 70px);
		line-height: 1.05;
	}

	.is-home .hero__cta {
		width: clamp(136px, calc(var(--ae-frame-unit) * 19.479), 374px);
		min-width: 0;
		min-height: clamp(28px, calc(var(--ae-frame-unit) * 3.02), 58px);
		padding: clamp(5px, calc(var(--ae-frame-unit) * .573), 11px) clamp(10px, calc(var(--ae-frame-unit) * 1.5625), 30px);
		gap: clamp(12px, calc(var(--ae-frame-unit) * 2), 38px);
		font-size: clamp(12px, calc(var(--ae-frame-unit) * 1.4583), 28px);
		line-height: 1.15;
	}

	.is-home .hero__cta .arrow-icon,
	.is-home .hero__cta > span[aria-hidden="true"] {
		width: clamp(18px, calc(var(--ae-frame-unit) * 1.77), 34px);
		height: clamp(15px, calc(var(--ae-frame-unit) * 1.458), 28px);
		flex-basis: clamp(18px, calc(var(--ae-frame-unit) * 1.77), 34px);
	}

	.is-home .hero__timeline {
		margin-top: clamp(10px, calc(var(--ae-frame-unit) * 2.604), 50px);
		gap: clamp(8px, calc(var(--ae-frame-unit) * 1.667), 32px);
	}

	.is-home .hero__scene {
		gap: clamp(6px, calc(var(--ae-frame-unit) * 1.667), 32px);
	}

	.is-home .hero__scene span {
		font-size: clamp(10px, calc(var(--ae-frame-unit) * 1.0417), 20px);
	}

	/* Full-screen directions retain the six-sector composition at every scale. */
	.is-home .directions {
		height: 100svh;
		min-height: 100svh;
	}

	.is-home .direction-sector {
		--direction-title-size-idle: clamp(13px, calc(var(--ae-frame-unit) * 2.0833), 40px);
		--direction-title-size-active: clamp(14px, calc(var(--ae-frame-unit) * 2.1875), 42px);
		padding: clamp(10px, calc(var(--ae-frame-unit) * 2.9167), 56px);
	}

	.is-home .direction-sector__title {
		max-width: 38vw;
		font-size: var(--direction-title-size);
		line-height: var(--direction-title-line-height);
		letter-spacing: var(--direction-title-letter-spacing);
	}

	/* Main introduction and storytelling panels fit a short viewport. */
	.is-home .about-stack {
		--about-panel-height: 100svh;
	}

	.is-home .about-stack__viewport > .about-panel,
	.is-home .about-stack__viewport > .intro-section.about-panel,
	.is-home .intro-section {
		height: 100svh;
		min-height: 100svh;
	}

	.is-home .intro-section .container {
		box-sizing: border-box;
		padding-block: clamp(12px, calc(var(--ae-frame-unit) * 4.0625), 78px) clamp(12px, calc(var(--ae-frame-unit) * 3.125), 60px);
		padding-inline: clamp(0px, calc(var(--ae-frame-unit) * 3.229), 62px);
	}

	.is-home .intro-section h2,
	.is-home .process-section .section-heading h2,
	.is-home .advantages-section h2,
	.is-home .home-projects-section h2,
	.is-home .home-news-section h2,
	.is-home .geography-section h2,
	.is-home .partners-section h2 {
		font-size: clamp(18px, calc(var(--ae-frame-unit) * 3.6458), 70px);
		line-height: 1.05;
	}

	.is-home .intro-section h2 {
		max-width: 74.3vw;
	}

	.is-home .intro-section__grid {
		margin-top: 25px;
		padding-top: clamp(12px, calc(var(--ae-frame-unit) * 2.0833), 40px);
		grid-template-columns: minmax(0, 1fr) minmax(0, 41.67%);
		column-gap: clamp(18px, calc(var(--ae-frame-unit) * 8.5417), 164px);
		row-gap: clamp(12px, calc(var(--ae-frame-unit) * 3.4375), 66px);
	}

	.is-home .intro-section__grid p {
		font-size: clamp(12px, calc(var(--ae-frame-unit) * 1.6667), 32px);
	}

	.is-home .arrow-link {
		width: max-content;
		max-width: 100%;
		white-space: nowrap;
	}

	.is-home .intro-section__directions-link {
		width: max-content;
		max-width: 100%;
	}

	.is-home .arrow-link,
	.is-home .intro-section__directions-link {
		min-height: clamp(28px, calc(var(--ae-frame-unit) * 3.5938), 69px);
		padding: clamp(5px, calc(var(--ae-frame-unit) * .729), 14px) clamp(10px, calc(var(--ae-frame-unit) * 1.406), 27px);
		gap: clamp(14px, calc(var(--ae-frame-unit) * 3.6458), 70px);
		font-size: clamp(12px, calc(var(--ae-frame-unit) * 1.77), 34px);
	}

	.is-home .story-section__content,
	.is-home .team-section__content,
	.is-home .metrics-section .container {
		box-sizing: border-box;
		padding-block: clamp(12px, calc(var(--ae-frame-unit) * 2.708), 52px) clamp(10px, calc(var(--ae-frame-unit) * 1.875), 36px);
	}

	.is-home .story-section h2,
	.is-home .team-section h2,
	.is-home .metrics-section h2 {
		font-size: clamp(17px, calc(var(--ae-frame-unit) * 2.9167), 56px);
	}

	.is-home .story-section__card,
	.is-home .team-section__card,
	.is-home .metrics-section__grid {
		min-height: min(calc(var(--ae-frame-unit) * 11.98), 44%);
		margin-bottom: clamp(14px, calc(var(--ae-frame-unit) * 5), 96px);
	}

	.is-home .story-section__stat strong,
	.is-home .team-section__stat strong,
	.is-home .metric-card strong {
		font-size: clamp(16px, calc(var(--ae-frame-unit) * 2.9167), 56px);
	}

	.is-home .story-section__stat p,
	.is-home .team-section__stat p,
	.is-home .metric-card span {
		font-size: clamp(10px, calc(var(--ae-frame-unit) * 1.0417), 20px);
	}

	/* Homepage stage cards scale without their previous 17/96px floors. */
	.is-home .process-section {
		padding: clamp(24px, calc(var(--ae-frame-unit) * 4.79), 92px) 0 clamp(32px, calc(var(--ae-frame-unit) * 6.875), 132px);
	}

	.is-home .process-section .container {
		width: min(82.5vw, 1584px);
	}

	.is-home .process-section .section-heading {
		margin-bottom: clamp(18px, calc(var(--ae-frame-unit) * 3.958), 76px);
	}

	.is-home .process-card__number {
		font-size: clamp(42px, 20.48cqw, 170px);
	}

	.is-home .process-card h3,
	.is-home .process-card p {
		font-size: clamp(10px, 2.95cqw, 24.5px);
	}

	/* Project/news cards keep all content but become proportionally smaller. */
	.is-home .home-projects-section,
	.is-home .home-news-section {
		padding: clamp(32px, calc(var(--ae-frame-unit) * 7.1875), 138px) 0;
	}

	.is-home .home-project-card {
		padding: clamp(8px, calc(var(--ae-frame-unit) * 1.0417), 20px) clamp(10px, calc(var(--ae-frame-unit) * 1.6146), 31px);
		gap: clamp(8px, calc(var(--ae-frame-unit) * 1.0417), 20px);
	}

	.is-home .home-project-card__industry,
	.is-home .home-project-card__city,
	.is-home .home-project-card__text,
	.is-home .home-project-card__works span,
	.is-home .home-project-card__more,
	.is-home .home-news-card__date,
	.is-home .home-news-card__text,
	.is-home .home-news-card__more {
		font-size: clamp(10px, calc(var(--ae-frame-unit) * .9375), 18px);
	}

	.is-home .home-project-card__title,
	.is-home .home-news-card__title {
		font-size: clamp(12px, calc(var(--ae-frame-unit) * 1.302), 25px);
	}

	.is-home .home-projects-grid,
	.projects-list,
	.news-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.is-home .home-news-grid {
		grid-template-columns: minmax(0, 2.04fr) minmax(min(360px, 30vw), 1fr);
		grid-template-rows: 1fr auto;
		margin-inline: auto;
	}

	.is-home .home-news-card--1 {
		min-height: clamp(490px, 68svh, 738px);
		grid-row: span 2;
	}

	.is-home .home-news-card--2 {
		min-height: clamp(315px, 44svh, 482px);
	}

	.projects-page h1,
	.news-page h1,
	.news-detail h1 {
		font-size: clamp(18px, calc(var(--ae-frame-unit) * 3.6458), 70px);
	}

	.projects-featured,
	.news-featured {
		height: auto;
		min-height: 0;
		margin-bottom: clamp(24px, calc(var(--ae-frame-unit) * 4.167), 80px);
		padding: clamp(8px, calc(var(--ae-frame-unit) * 1.615), 31px);
		gap: clamp(8px, calc(var(--ae-frame-unit) * 1.0417), 20px);
	}

	.projects-featured__slide {
		gap: clamp(8px, calc(var(--ae-frame-unit) * 1.0417), 20px);
	}

	.projects-featured__image,
	.news-featured__image {
		height: auto;
		min-height: 0;
		aspect-ratio: 1522 / 793;
	}

	.projects-featured__title,
	.news-featured__title {
		font-size: clamp(12px, calc(var(--ae-frame-unit) * 2.083), 40px);
	}

	.projects-card,
	.news-card {
		height: auto;
		min-height: 0;
		padding: clamp(7px, calc(var(--ae-frame-unit) * 1.0417), 20px) clamp(8px, calc(var(--ae-frame-unit) * 1.302), 25px) clamp(9px, calc(var(--ae-frame-unit) * 1.458), 28px);
		gap: clamp(5px, calc(var(--ae-frame-unit) * .781), 15px);
	}

	.projects-card__title,
	.news-card__title {
		font-size: clamp(10px, calc(var(--ae-frame-unit) * 1.328), 25.5px);
	}

	.projects-featured__city,
	.projects-featured__text,
	.projects-featured__more,
	.projects-card__city,
	.projects-card__text,
	.projects-card__works span,
	.projects-card__more,
	.news-featured time,
	.news-card time,
	.news-featured__more,
	.news-card__more,
	.news-pill {
		font-size: clamp(9px, calc(var(--ae-frame-unit) * .9375), 18px);
	}

	.projects-card__works span,
	.news-pill {
		min-height: clamp(18px, calc(var(--ae-frame-unit) * 1.667), 32px);
		padding: clamp(3px, calc(var(--ae-frame-unit) * .3125), 6px) clamp(4px, calc(var(--ae-frame-unit) * .4167), 8px);
	}

	.news-filter button.news-pill {
		min-height: 38px;
		padding: 8px clamp(14px, 1vw, 19px);
		flex: 0 0 auto;
		white-space: nowrap;
	}

	/* The entire Russia map, including its markers, stays inside the viewport. */
	.is-home .geography-section,
	.is-home .geography-section__layout {
		height: 100svh;
		min-height: 100svh;
	}

	.is-home .geography-section h2 {
		top: calc(var(--ae-header-height) + clamp(6px, calc(var(--ae-frame-unit) * .625), 12px));
		left: max(var(--gutter), calc(50% - 792px));
		max-width: calc(100% - (var(--gutter) * 2));
		white-space: normal;
	}

	.is-home .geography-map-wrap {
		top: calc(var(--ae-header-height) + clamp(36px, calc(var(--ae-frame-unit) * 2.6), 50px));
		left: 50%;
		width: min(100vw, calc((100svh - (var(--ae-header-height) + clamp(48px, calc(var(--ae-frame-unit) * 3.02), 58px))) * 1.7778));
		height: auto;
		aspect-ratio: 16 / 9;
		transform: translateX(-50%);
	}

	.is-home .geography-point {
		width: clamp(5px, calc(var(--ae-frame-unit) * .625), 12px);
		height: clamp(5px, calc(var(--ae-frame-unit) * .625), 12px);
		border-width: clamp(1px, calc(var(--ae-frame-unit) * .1042), 2px);
	}

	.is-home .geography-point::after {
		inset: clamp(-6px, calc(var(--ae-frame-unit) * -.3125), -3px);
	}

	.is-home .geography-point--project {
		width: clamp(28px, calc(var(--ae-frame-unit) * 3), 56px);
		height: clamp(28px, calc(var(--ae-frame-unit) * 3), 56px);
		border: 0;
	}

	/* Major headings and fixed cards on inner pages use the same scale. */
	.is-about-page .about-hero h1,
	.is-about-page .about-hero__lead,
	.is-about-page .about-missions__intro h2,
	.is-about-page .about-steps h2,
	.is-about-page .about-licenses__intro h2,
	.contacts-page__head h1,
	.services-hero h1,
	.contacts-hero h1,
	.direction-detail__hero h1,
	.direction-competencies h2,
	.direction-work h2,
	.direction-projects h2 {
		font-size: clamp(18px, calc(var(--ae-frame-unit) * 3.6458), 70px);
	}

	.services-hero__lead,
	.contacts-hero > p,
	.direction-detail__lead,
	.is-about-page .about-hero__quote {
		font-size: clamp(12px, calc(var(--ae-frame-unit) * 1.6667), 32px);
	}

	.service-direction__number,
	.is-about-page .about-step-card__number {
		font-size: clamp(40px, calc(var(--ae-frame-unit) * 8.854), 170px);
	}

	.service-direction h2,
	.direction-competency-card h3,
	.direction-work-card h3,
	.direction-project-card__title {
		font-size: clamp(13px, calc(var(--ae-frame-unit) * 2.083), 40px);
	}

	.service-direction p,
	.direction-competency-card button,
	.direction-project-card__text,
	.direction-solution-card p,
	.direction-solution-card a {
		font-size: clamp(10px, calc(var(--ae-frame-unit) * 1.1), 21px);
	}

	.direction-work-card p {
		font-size: clamp(10px, calc(var(--ae-frame-unit) * 1.276), 24.5px);
	}

	.services-hero,
	.contacts-hero {
		padding: clamp(22px, calc(var(--ae-frame-unit) * 3.333), 64px) 0 clamp(24px, calc(var(--ae-frame-unit) * 3.646), 70px);
	}

	.service-direction__body {
		padding: clamp(10px, calc(var(--ae-frame-unit) * 2.8125), 54px);
	}

	.service-direction h2 {
		margin-bottom: clamp(8px, calc(var(--ae-frame-unit) * 1.25), 24px);
	}

	.service-direction p {
		margin-bottom: clamp(10px, calc(var(--ae-frame-unit) * 1.875), 36px);
	}

	.service-direction a,
	.services-cta a,
	.alpha-feedback button {
		gap: clamp(8px, calc(var(--ae-frame-unit) * 1.458), 28px);
		font-size: clamp(10px, calc(var(--ae-frame-unit) * .9375), 18px);
	}

	.contact-detail-card {
		min-height: clamp(96px, calc(var(--ae-frame-unit) * 14.0625), 270px);
		padding: clamp(8px, calc(var(--ae-frame-unit) * 3.02), 58px);
	}

	.contact-detail-card > span,
	.contact-detail-card small {
		font-size: clamp(8px, calc(var(--ae-frame-unit) * .833), 16px);
	}

	.contact-detail-card > span b {
		font-size: clamp(12px, calc(var(--ae-frame-unit) * 1.5625), 30px);
	}

	.contact-detail-card strong {
		margin-top: clamp(12px, calc(var(--ae-frame-unit) * 2.8125), 54px);
		font-size: clamp(11px, calc(var(--ae-frame-unit) * 1.77), 34px);
	}

	.contacts-workspace {
		min-height: clamp(345px, calc(var(--ae-frame-unit) * 69), 1133px);
	}

	.contacts-form-copy h2 {
		top: 0;
		left: max(var(--gutter), calc(50% - 792px));
		width: min(81vw, 1555px);
		font-size: clamp(44px, calc(var(--ae-frame-unit) * 13.021), 250px);
	}

	.contacts-form-shell {
		top: 38.7%;
		right: auto;
		left: 50.36%;
		width: min(40.884vw, 785px);
		min-height: 0;
		padding: clamp(10px, calc(var(--ae-frame-unit) * 3.646), 70px) clamp(10px, calc(var(--ae-frame-unit) * 2.708), 52px);
	}

	.alpha-feedback form {
		gap: clamp(10px, calc(var(--ae-frame-unit) * 2.604), 50px);
	}

	.alpha-feedback label:not(.alpha-feedback__consent),
	.alpha-feedback input[type="text"],
	.alpha-feedback input[type="email"],
	.alpha-feedback input[type="tel"],
	.alpha-feedback textarea {
		font-size: clamp(9px, calc(var(--ae-frame-unit) * 1.276), 24.5px);
	}

	.alpha-feedback input[type="text"],
	.alpha-feedback input[type="email"],
	.alpha-feedback input[type="tel"],
	.alpha-feedback textarea {
		height: clamp(20px, calc(var(--ae-frame-unit) * 1.927), 37px);
		min-height: clamp(20px, calc(var(--ae-frame-unit) * 1.927), 37px);
	}

	.alpha-feedback__consent {
		font-size: clamp(8px, calc(var(--ae-frame-unit) * .938), 18px);
	}

	.contacts-map,
	.contacts-office-map {
		height: clamp(180px, calc(var(--ae-frame-unit) * 37.5), 720px);
	}

	.direction-detail__hero,
	.direction-detail__hero > .container {
		min-height: clamp(320px, calc(var(--ae-frame-unit) * 35.104), 674px);
	}

	.direction-detail__hero > .container {
		padding-top: clamp(24px, calc(var(--ae-frame-unit) * 3.4375), 66px);
	}

	.direction-detail__hero h1 {
		margin-top: clamp(24px, calc(var(--ae-frame-unit) * 3.958), 76px);
	}

	.direction-detail__lead {
		margin-top: clamp(28px, calc(var(--ae-frame-unit) * 4.167), 80px);
	}

	.direction-competencies {
		--direction-competencies-height: clamp(540px, calc(var(--ae-frame-unit) * 76.198), 1463px);
		--direction-pattern-top: clamp(370px, calc(var(--ae-frame-unit) * 54.688), 1050px);
		height: var(--direction-competencies-height);
		min-height: var(--direction-competencies-height);
		padding: clamp(170px, calc(var(--ae-frame-unit) * 29.74), 571px) 0 clamp(24px, calc(var(--ae-frame-unit) * 3.594), 69px);
	}

	.direction-competencies::before,
	.direction-competencies::after,
	.direction-competencies__video {
		height: var(--direction-pattern-top);
	}

	.direction-competencies__pattern {
		top: var(--direction-pattern-top);
		height: calc(100% - var(--direction-pattern-top));
	}

	.direction-competencies__grid {
		margin-top: clamp(24px, calc(var(--ae-frame-unit) * 5.052), 97px);
	}

	.direction-work,
	.direction-projects {
		min-height: 0;
		padding-top: clamp(48px, calc(var(--ae-frame-unit) * 11.458), 220px);
		padding-bottom: clamp(40px, calc(var(--ae-frame-unit) * 6.5625), 126px);
	}

	.direction-work__rail,
	.direction-projects__rail {
		margin-top: clamp(24px, calc(var(--ae-frame-unit) * 3.646), 70px);
	}

	.direction-solutions {
		height: 100svh;
		min-height: 100svh;
	}

	.direction-solutions__word {
		font-size: clamp(24px, calc(var(--ae-frame-unit) * 9.375), 180px);
	}

	.direction-solution-card,
	.direction-solutions__preview {
		width: clamp(190px, calc(var(--ae-frame-unit) * 20.052), 385px);
	}

	.direction-solution-card {
		min-height: clamp(160px, calc(var(--ae-frame-unit) * 14.583), 280px);
		bottom: clamp(44px, calc(var(--ae-frame-unit) * 9.375), 180px);
	}

	.direction-solutions__preview {
		height: clamp(150px, calc(var(--ae-frame-unit) * 14.0625), 270px);
		bottom: clamp(44px, calc(var(--ae-frame-unit) * 9.375), 180px);
	}

	.direction-work-card,
	.direction-project-card {
		width: calc((100% - clamp(16px, calc(var(--ae-frame-unit) * 2.083), 40px)) / 3);
		min-width: calc((100% - clamp(16px, calc(var(--ae-frame-unit) * 2.083), 40px)) / 3);
	}
}

/*
 * Tablet layouts preserve the desktop composition.  Phone-sized effective
 * viewports, including high browser zoom, keep the readable mobile layout.
 */
@media not all {
	.is-home .directions__media,
	.is-home .directions__lines,
	.is-home .directions__sectors::after {
		display: block;
	}

	.is-home .directions__sectors {
		position: absolute;
		inset: 0;
		display: block;
	}

	.is-home .direction-sector,
	.is-home .direction-sector--1,
	.is-home .direction-sector--2,
	.is-home .direction-sector--3,
	.is-home .direction-sector--4,
	.is-home .direction-sector--5,
	.is-home .direction-sector--6 {
		position: absolute;
		inset: 0;
		display: flex;
		width: auto;
		min-height: 0;
		background-image: none;
	}

	.is-home .direction-sector::before {
		display: none;
	}

	.is-home .direction-sector--1 { clip-path: polygon(100% 0%, 50% 50%, 0% 0%); }
	.is-home .direction-sector--2 { clip-path: polygon(100% 50%, 50% 50%, 100% 0%); }
	.is-home .direction-sector--3 { clip-path: polygon(100% 50%, 50% 50%, 100% 100%); }
	.is-home .direction-sector--4 { clip-path: polygon(100% 100%, 50% 50%, 0% 100%); }
	.is-home .direction-sector--5 { clip-path: polygon(0% 50%, 50% 50%, 0% 100%); }
	.is-home .direction-sector--6 { clip-path: polygon(0% 50%, 50% 50%, 0% 0%); }

	.is-home .direction-sector__title,
	.is-home .direction-sector--1 .direction-sector__title,
	.is-home .direction-sector--2 .direction-sector__title,
	.is-home .direction-sector--3 .direction-sector__title,
	.is-home .direction-sector--4 .direction-sector__title,
	.is-home .direction-sector--5 .direction-sector__title,
	.is-home .direction-sector--6 .direction-sector__title {
		position: absolute;
		max-width: 38vw;
		margin: 0;
		text-align: left;
	}

	.is-home .direction-sector--1 .direction-sector__title {
		top: 12%;
		left: 50%;
		width: 40vw;
		transform: translateX(-50%);
		text-align: center;
	}

	.is-home .direction-sector--2 .direction-sector__title {
		top: 34%;
		right: 4%;
		width: 33vw;
		transform: none;
	}

	.is-home .direction-sector--3 .direction-sector__title {
		top: 54%;
		right: 4%;
		width: 33vw;
		transform: none;
	}

	.is-home .direction-sector--4 .direction-sector__title {
		top: 78%;
		left: 50%;
		width: 46vw;
		transform: translateX(-50%);
		text-align: center;
	}

	.is-home .direction-sector--5 .direction-sector__title {
		top: 54%;
		left: 4%;
		width: 38vw;
		transform: none;
	}

	.is-home .direction-sector--6 .direction-sector__title {
		top: 34%;
		left: 4%;
		width: 38vw;
		transform: none;
	}

	.is-home .direction-sector__title-line {
		display: block;
	}

	.is-home .direction-sector__title-line + .direction-sector__title-line::before {
		content: none;
	}

	.is-home .process-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(8px, calc(var(--ae-frame-unit) * 1.458), 28px) 0;
	}

	.is-home .process-card,
	.is-home .process-card:nth-child(odd),
	.is-home .process-card:nth-child(even) {
		width: calc(100% + clamp(6px, calc(var(--ae-frame-unit) * 1.98), 38px));
		height: auto;
		min-height: 0;
		margin: 0;
		aspect-ratio: 829.5 / 251;
		-webkit-clip-path: none !important;
		clip-path: none !important;
		transform: none;
	}

	.is-home .process-card:nth-child(odd) {
		justify-self: start;
	}

	.is-home .process-card:nth-child(even) {
		justify-self: end;
	}

	.is-home .process-card__content,
	.is-home .process-card:nth-child(even) .process-card__content {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
	}

	.is-home .process-card__number {
		top: 50%;
		left: var(--process-number-left);
		width: var(--process-number-width);
		height: 104.78%;
		transform: translateY(-50%);
	}

	.is-home .process-card__copy,
	.is-home .process-card.is-active .process-card__copy {
		top: 50%;
		bottom: auto;
		left: var(--process-copy-left);
		display: block;
		width: var(--process-copy-width);
		height: auto;
		transform: translateY(-50%);
	}

	.is-home .advantages-section {
		--advantages-height: 100svh;
		min-height: 100svh;
		padding: clamp(12px, calc(var(--ae-frame-unit) * 2.1875), 42px) 0 0;
	}

	.is-home .advantages-section .container,
	.is-home .advantages-grid,
	.is-home .advantage-card {
		min-height: 0;
	}

	.is-home .advantages-grid {
		display: grid;
		min-height: calc(100svh - clamp(30px, calc(var(--ae-frame-unit) * 4.0625), 78px));
		margin-top: calc(clamp(58px, calc(var(--ae-frame-unit) * 10.729), 206px) * -1);
		padding-top: clamp(70px, calc(var(--ae-frame-unit) * 12.396), 238px);
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
	}

	.is-home .advantage-card {
		min-height: 100%;
		padding: clamp(120px, calc(var(--ae-frame-unit) * 26.98), 518px) clamp(10px, calc(var(--ae-frame-unit) * 2.1875), 42px) clamp(14px, calc(var(--ae-frame-unit) * 3.02), 58px);
		gap: clamp(8px, calc(var(--ae-frame-unit) * 1.5625), 30px);
	}

	.is-home .advantage-card__icon {
		top: clamp(70px, calc(var(--ae-frame-unit) * 15.729), 302px);
		left: clamp(10px, calc(var(--ae-frame-unit) * 2.1875), 42px);
		width: clamp(42px, calc(var(--ae-frame-unit) * 8.854), 170px);
		height: clamp(34px, calc(var(--ae-frame-unit) * 6.5625), 126px);
	}

	.is-home .advantage-card__eyebrow,
	.is-home .advantage-card__text {
		font-size: clamp(10px, calc(var(--ae-frame-unit) * 1.2), 23px);
	}

	.is-home .advantage-card__title {
		font-size: clamp(12px, calc(var(--ae-frame-unit) * 2.083), 40px);
	}

	.is-home .home-projects-grid,
	.projects-list,
	.news-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.services-showcase__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.is-home .geography-mobile {
		display: none;
	}

	/* About stages remain one overlapping scaled deck, not a vertical list. */
	.is-about-page .about-steps {
		min-height: calc(100svh + var(--steps-scroll-distance, 2100px));
		height: auto;
		padding: 0;
	}

	.is-about-page .about-steps > .container {
		position: sticky;
		top: 0;
		display: block;
		height: 100svh;
		padding: 0;
		overflow: hidden;
	}

	.is-about-page .about-steps h2 {
		position: absolute;
		top: calc(var(--ae-header-height) + clamp(6px, calc(var(--ae-frame-unit) * .625), 12px));
		left: 0;
		width: min(30vw, 525px);
		margin: 0;
	}

	.is-about-page .about-steps__list {
		position: absolute;
		top: 50%;
		left: 50%;
		display: block;
		width: min(82.5vw, 1316px);
		height: auto;
		min-height: 0;
		aspect-ratio: 1316 / 300;
		overflow: visible;
		transform: translate(-50%, -34%);
		isolation: isolate;
		container-type: inline-size;
	}

	.is-about-page .about-step-card,
	.is-about-page .about-step-card.is-active,
	.is-about-page .about-step-card.is-fill-active {
		position: absolute;
		inset: 0;
		display: grid;
		width: 100%;
		height: 100%;
		min-height: 0;
		margin: 0;
		padding: 0 0 0 3.57%;
		grid-template-columns: 15.96% minmax(0, 1fr) 31.91%;
		gap: 3.04%;
		align-items: center;
		clip-path: none !important;
		opacity: var(--step-opacity, 1);
		filter: brightness(var(--step-brightness, 1));
		transform: translate3d(0, var(--step-y, 0), 0) scale(var(--step-scale, 1)) !important;
		transform-origin: 50% 0;
	}

	.is-about-page .about-step-card__number {
		display: block;
		width: auto;
		height: auto;
		padding-right: 14.29%;
	}

	.is-about-page .about-step-card__body {
		display: flex;
		padding-top: 3.8cqw;
		align-self: stretch;
		flex-direction: column;
		justify-content: flex-start;
	}

	.is-about-page .about-step-card h3 {
		font-size: clamp(11px, calc(var(--ae-frame-unit) * 2.083), 40px);
	}

	.is-about-page .about-step-card__body > div {
		font-size: clamp(9px, calc(var(--ae-frame-unit) * 1.276), 24.5px);
	}

	.is-about-page .about-step-card__image,
	.is-about-page .about-step-card__image--desktop {
		display: block;
		width: 100%;
		height: 100%;
		min-height: 0;
		margin: 0;
		grid-column: 3;
		grid-row: 1;
		align-self: stretch;
		object-fit: cover;
	}

	.is-about-page .about-step-card__image--mobile {
		display: none;
	}

	.services-hero,
	.contacts-hero {
		grid-template-columns: minmax(0, .9fr) minmax(0, .8fr);
		gap: clamp(18px, calc(var(--ae-frame-unit) * 7.8125), 150px);
	}

	.contacts-details {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin-bottom: clamp(24px, calc(var(--ae-frame-unit) * 7.8125), 150px);
	}

	.contacts-workspace__grid {
		position: absolute;
		inset: 0;
		display: block;
	}

	.service-direction {
		min-height: 0;
		grid-template-rows: auto 1fr;
	}

	.service-direction__media {
		aspect-ratio: 16 / 8.2;
	}

	.direction-competencies__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(8px, calc(var(--ae-frame-unit) * 1.0417), 20px);
	}

	.direction-competency-card,
	.direction-competency-card:last-child {
		min-height: 0;
		padding: clamp(14px, calc(var(--ae-frame-unit) * 2.604), 50px) clamp(12px, calc(var(--ae-frame-unit) * 1.823), 35px);
		grid-column: auto;
	}

	.direction-competency-card__media {
		height: clamp(88px, calc(var(--ae-frame-unit) * 12.292), 236px);
		aspect-ratio: auto;
	}

	.direction-competency-card h3 {
		margin: clamp(10px, calc(var(--ae-frame-unit) * 1.927), 37px) 0 clamp(8px, calc(var(--ae-frame-unit) * 1.458), 28px);
	}

	.direction-competency-card button {
		min-height: clamp(28px, calc(var(--ae-frame-unit) * 3.02), 58px);
		padding: clamp(5px, calc(var(--ae-frame-unit) * .573), 11px) clamp(10px, calc(var(--ae-frame-unit) * 1.5625), 30px);
	}

	.direction-work-card,
	.direction-project-card {
		width: calc((100% - clamp(16px, calc(var(--ae-frame-unit) * 2.083), 40px)) / 3);
		min-width: calc((100% - clamp(16px, calc(var(--ae-frame-unit) * 2.083), 40px)) / 3);
	}

	.direction-work-card {
		height: auto;
		min-height: clamp(220px, 27.8125vw, 534px);
		padding: clamp(14px, calc(var(--ae-frame-unit) * 2.5), 48px) clamp(12px, calc(var(--ae-frame-unit) * 2.1875), 42px) clamp(14px, calc(var(--ae-frame-unit) * 2.396), 46px);
	}

	.direction-work-card h3 {
		margin-bottom: clamp(10px, calc(var(--ae-frame-unit) * 1.667), 32px);
	}

	.direction-solution-card {
		padding: clamp(8px, calc(var(--ae-frame-unit) * .781), 15px) clamp(10px, calc(var(--ae-frame-unit) * 1.0417), 20px);
	}

	.direction-solution-card h3 {
		font-size: clamp(12px, calc(var(--ae-frame-unit) * 1.458), 28px);
	}

	.direction-project-card {
		min-height: 0;
		padding: clamp(8px, calc(var(--ae-frame-unit) * 1.0417), 20px) clamp(10px, calc(var(--ae-frame-unit) * 1.302), 25px);
		gap: clamp(5px, calc(var(--ae-frame-unit) * .625), 12px);
	}

	.direction-project-card__media {
		height: clamp(100px, calc(var(--ae-frame-unit) * 13.75), 264px);
	}

	.direction-project-card__media > span,
	.direction-project-card > small,
	.direction-project-card > p,
	.direction-project-card > b,
	.direction-project-card__tags > span {
		font-size: clamp(9px, calc(var(--ae-frame-unit) * .9375), 18px);
	}

	.direction-project-card > strong {
		font-size: clamp(11px, calc(var(--ae-frame-unit) * 1.302), 25px);
	}

	.direction-solution-slide__inner {
		width: min(var(--container), calc(100% - (var(--gutter) * 2)));
		max-width: none;
		padding: 0;
	}

	.direction-solutions__word {
		top: calc(var(--ae-header-height) + clamp(6px, calc(var(--ae-frame-unit) * .625), 12px));
		left: max(calc((100% - var(--container)) / 2), var(--gutter));
		width: auto;
		transform: none;
	}

	.direction-solution-slide__background {
		inset: -12px;
		background-position: center;
		background-size: cover;
		transform: scale(1.015);
	}

	.direction-solution-slide__background::after {
		display: block;
	}

	.direction-solution-slide__equipment,
	.direction-solution-slide--2 .direction-solution-slide__equipment,
	.direction-solution-slide--3 .direction-solution-slide__equipment {
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		transform: none;
	}

	.direction-solution-card,
	.direction-solution-slide--2 .direction-solution-card {
		top: auto;
		bottom: clamp(44px, calc(var(--ae-frame-unit) * 9.375), 180px);
		left: 0;
		width: clamp(190px, calc(var(--ae-frame-unit) * 20.052), 385px);
		min-height: clamp(160px, calc(var(--ae-frame-unit) * 14.583), 280px);
		gap: clamp(6px, calc(var(--ae-frame-unit) * .625), 12px);
		justify-content: flex-start;
		transform: none;
	}

	.direction-solutions__preview {
		display: block;
	}

	.direction-solutions__controls {
		top: auto;
		right: 0;
		bottom: clamp(22px, calc(var(--ae-frame-unit) * 5.208), 100px);
		left: auto;
		width: auto;
		height: auto;
		padding: 0;
		gap: clamp(6px, calc(var(--ae-frame-unit) * .625), 12px);
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		backdrop-filter: none;
		transform: none;
	}

	.direction-solutions__status {
		display: none;
	}

	.direction-solutions__controls button {
		width: clamp(28px, calc(var(--ae-frame-unit) * 2.9167), 56px);
		height: clamp(28px, calc(var(--ae-frame-unit) * 2.9167), 56px);
	}
}

/*
 * Short desktop viewports (4K at 200–300% browser zoom included).
 * Preserve the 1920px composition, but keep reading sizes and each major
 * carousel scene usable inside the effective viewport.
 */
@media (min-width: 1181px) and (max-height: 1080px) {
	:root {
		--large-display-section-height: 100svh;
	}

	.site-header .site-nav__link,
	.site-header .site-nav__label {
		font-size: clamp(20px, 1.25vw, 24px);
		line-height: 1.1;
	}

	.is-home .home-project-card__title,
	.is-home .home-news-card__title {
		font-size: clamp(22px, 1.46vw, 28px);
		line-height: 1.12;
	}

	.is-home .home-project-card__industry,
	.is-home .home-project-card__city,
	.is-home .home-project-card__text,
	.is-home .home-project-card__works span,
	.is-home .home-news-card__date,
	.is-home .home-news-card__text {
		font-size: clamp(16px, 1.04vw, 20px);
	}

	.is-home .home-project-card__more,
	.is-home .home-news-card__more,
	.is-home .home-news-card__meta time,
	.is-home .home-news-card__meta span {
		font-size: clamp(18px, 1.15vw, 22px);
	}

	.is-home .home-news-grid {
		width: 100%;
		grid-template-columns: minmax(0, 2.04fr) minmax(min(360px, 30vw), 1fr);
		grid-template-rows: 1fr auto;
		margin-inline: auto;
	}

	.service-direction a,
	.services-cta a,
	.alpha-feedback button {
		font-size: clamp(17px, 1vw, 19px);
	}

	.projects-featured,
	.news-featured {
		min-height: 0;
	}

	.projects-featured__image,
	.news-featured__image {
		height: clamp(340px, 52svh, 562px);
		max-height: 52svh;
		aspect-ratio: auto;
	}

	.projects-featured__title,
	.news-featured__title {
		font-size: clamp(30px, 2.08vw, 40px);
		line-height: 1.1;
	}

	.projects-featured__city,
	.projects-card__city,
	.news-featured time,
	.news-card time,
	.news-pill {
		font-size: clamp(18px, 1.15vw, 22px);
	}

	.projects-featured__text,
	.projects-card__text,
	.projects-card__works span,
	.news-featured__text,
	.news-card__text {
		font-size: clamp(16px, 1.04vw, 20px);
	}

	.projects-featured__more,
	.projects-card__more,
	.news-featured__more,
	.news-card__more {
		font-size: clamp(18px, 1.15vw, 22px);
	}

	.projects-card__title,
	.news-card__title {
		font-size: clamp(22px, 1.33vw, 25.5px);
		line-height: 1.16;
	}

	.direction-work,
	.direction-projects {
		box-sizing: border-box;
		min-height: 100svh;
		padding-top: clamp(58px, 8svh, 86px);
		padding-bottom: clamp(36px, 5.5svh, 60px);
	}

	.direction-work__rail,
	.direction-projects__rail {
		margin-top: clamp(28px, 4svh, 44px);
	}

	.direction-carousel-controls {
		margin-top: clamp(20px, 4svh, 44px);
	}

	.direction-work-card {
		height: auto;
		min-height: clamp(400px, 49.45svh, 534px);
		padding: clamp(48px, 9.63svh, 104px) clamp(22px, 2.2vw, 42px);
	}

	.direction-work-card h3 {
		margin-bottom: clamp(18px, 2.963svh, 32px);
		font-size: clamp(27px, min(2.083vw, 3.704svh), 40px);
	}

	.direction-work-card p {
		font-size: clamp(17px, min(1.276vw, 2.269svh), 24.5px);
		line-height: 1.12;
	}

	.direction-solutions,
	.is-direction-detail-page .direction-solutions {
		height: 100svh;
		min-height: 100svh;
	}

	.direction-solutions__word {
		top: clamp(38px, 5svh, 54px);
		max-width: calc(100% - (var(--gutter) * 2));
		font-size: clamp(84px, 9.375vw, 180px);
		line-height: .92;
	}

	.direction-solution-card,
	.direction-solution-slide--2 .direction-solution-card,
	.direction-solutions__preview {
		bottom: clamp(58px, 8svh, 86px);
		width: clamp(340px, 20.052vw, 385px);
	}

	.direction-solution-card,
	.direction-solution-slide--2 .direction-solution-card {
		min-height: clamp(240px, 32svh, 280px);
		padding: clamp(14px, 1.4svh, 18px) clamp(18px, 1.2vw, 22px);
		overflow: hidden;
	}

	.direction-solution-card h3 {
		max-width: 100%;
		font-size: clamp(23px, 1.46vw, 28px);
		overflow-wrap: anywhere;
	}

	.direction-solution-card p,
	.direction-solution-card a {
		font-size: clamp(17px, 1vw, 18px);
		overflow-wrap: anywhere;
	}

	.direction-solutions__preview {
		height: clamp(220px, 31svh, 270px);
	}

	.direction-solutions__controls {
		bottom: clamp(20px, 3svh, 32px);
	}

	.direction-project-card {
		min-height: 0;
		padding: clamp(14px, 2svh, 20px) clamp(16px, 1.3vw, 25px);
	}

	.direction-project-card__media {
		height: clamp(170px, 24svh, 264px);
	}

	.direction-project-card > strong,
	.direction-project-card__title {
		font-size: clamp(22px, 1.3vw, 25px);
	}

	.direction-project-card__media > span,
	.direction-project-card > small,
	.direction-project-card > b {
		font-size: clamp(17px, 1vw, 18px);
	}

	.direction-project-card > p,
	.direction-project-card__text {
		font-size: clamp(16px, .94vw, 18px);
	}
}

/* About-page scenes retain four cards and their controls inside one screen. */
@media (min-width: 1181px) and (max-height: 1080px) {
	.about-project-numbers {
		box-sizing: border-box;
		min-height: 100svh;
		padding: clamp(16px, 3svh, 32px) 0 clamp(28px, 6svh, 65px);
	}

	.about-project-numbers > .container {
		display: flex;
		min-height: calc(100svh - clamp(44px, 9svh, 97px));
		flex-direction: column;
	}

	.about-project-numbers h2 {
		margin: 0;
		/* A viewport-only 13vw value cancels the user's browser zoom on 4K.
		 * Keep the display heading large, but give it a CSS-pixel floor so it
		 * grows with 200–300% zoom and still leaves room for the metric grid. */
		font-size: clamp(150px, 9vw, 180px);
		line-height: .81;
	}

	.about-project-numbers__grid {
		height: clamp(270px, 39svh, 359px);
		margin-top: auto;
	}

	.about-project-numbers__grid article {
		display: flex;
		min-height: 0;
		height: 100%;
		padding: clamp(24px, 5svh, 54px) clamp(24px, 2.8vw, 54px);
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
	}

	.about-project-numbers__grid strong {
		font-size: clamp(48px, 3.65vw, 70px);
		line-height: .98;
	}

	.about-project-numbers__grid span {
		margin-top: clamp(12px, 1.7svh, 18px);
		font-size: clamp(18px, 1.28vw, 24.5px);
		line-height: 1.12;
	}

	.about-areas h2 {
		top: clamp(18px, 3.5svh, 38px);
		font-size: clamp(150px, 13vw, 250px);
		line-height: .78;
	}

	.about-parallax-combo .about-areas__grid {
		position: absolute;
		inset: clamp(190px, 27svh, 306px) 0 clamp(28px, 5svh, 54px);
		display: grid;
		height: auto;
		grid-template-columns: repeat(2, minmax(0, 515px));
		grid-template-rows: repeat(2, minmax(0, 1fr));
		align-content: stretch;
		justify-content: space-between;
		gap: clamp(16px, 2.5svh, 28px) 0;
	}

	.about-area-card,
	.about-area-card.is-active {
		position: relative;
		inset: auto;
		width: clamp(390px, 33.5vw, 515px);
		height: auto;
		min-height: 0;
		max-height: none;
		padding: clamp(20px, 3.5svh, 38px) clamp(20px, 1.5vw, 28px);
		align-self: stretch;
	}

	.about-area-card[data-area-position="top-left"] { grid-column: 1; grid-row: 1; }
	.about-area-card[data-area-position="top-right"] { grid-column: 2; grid-row: 1; justify-self: end; }
	.about-area-card[data-area-position="bottom-left"] { grid-column: 1; grid-row: 2; }
	.about-area-card[data-area-position="bottom-right"] { grid-column: 2; grid-row: 2; justify-self: end; }

	.about-parallax-combo .about-areas__grid .about-area-card[data-area-position] {
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
	}

	.about-area-card h3 {
		font-size: clamp(27px, 1.95vw, 34px);
	}

	.about-area-card.is-active div {
		max-height: calc(100% - 58px);
		font-size: clamp(17px, 1.2vw, 22px);
	}

	.about-licenses {
		box-sizing: border-box;
		height: 100svh;
		min-height: 720px;
		padding: clamp(34px, 5svh, 54px) 0 clamp(28px, 4svh, 44px);
	}

	.about-licenses__layout {
		height: 100%;
		min-height: 0;
	}

	.is-about-page .about-licenses__intro h2 {
		width: min(100%, 620px);
		margin: 0 0 clamp(14px, 2svh, 22px);
		font-size: clamp(54px, 3.65vw, 70px);
		line-height: 1.05;
	}

	.about-page .about-licenses__rail {
		height: calc(100% - clamp(102px, 13svh, 140px));
		min-height: 0;
		grid-auto-columns: clamp(390px, 33vw, 515px);
	}

	.about-license-card {
		height: 100%;
		min-height: 0;
		padding: clamp(28px, 5svh, 54px) clamp(24px, 2.2vw, 42px);
		grid-template-rows: clamp(62px, 8.5svh, 92px) minmax(78px, auto) auto;
		row-gap: clamp(14px, 2.5svh, 27px);
	}

	.about-license-card img,
	.about-license-card .about-value-card__placeholder {
		height: clamp(62px, 8.5svh, 92px);
	}

	.about-license-card h3 {
		min-height: 0;
		font-size: clamp(30px, 2.08vw, 40px);
	}

	.about-license-card div {
		font-size: clamp(18px, 1.28vw, 24.5px);
	}

	.about-licenses__intro .about-missions__nav {
		bottom: 0;
	}

	/* Keep mission controls with the copy instead of pinning them near the
	 * bottom edge of short desktop viewports. */
	.about-missions__nav--missions {
		top: clamp(520px, 66svh, 730px);
	}

	/* The desktop missions stylesheet makes every rail arrow white. Licences
	 * use a white surface, so their controls need an explicit high-contrast
	 * treatment after that rule. */
	.about-licenses__intro .about-missions__arrow {
		width: 51px;
		height: 51px;
		border: 2px solid #2287c8;
		background: transparent;
		box-shadow: none;
		color: #2287c8;
		opacity: 1;
	}

	.about-licenses__intro .about-missions__arrow:hover:not(:disabled),
	.about-licenses__intro .about-missions__arrow:focus-visible {
		border-color: #1d4383;
		background: #1d4383;
		color: #fff;
	}

	.about-licenses__intro .about-missions__arrow:disabled {
		border-color: #90d6ea;
		background: transparent;
		box-shadow: none;
		color: #90d6ea;
		opacity: 1;
	}
}

/*
 * Reference storytelling blocks at short desktop heights (including 4K at
 * 200–300% zoom). Geometry follows the viewport, while reading sizes keep
 * useful floors instead of shrinking with the height-only frame unit.
 */
@media (min-width: 1181px) and (max-height: 1080px) {
	.is-home .story-section h2,
	.is-home .team-section h2,
	.is-home .metrics-section h2,
	.is-home .story-section__stat strong,
	.is-home .team-section__stat strong,
	.is-home .metric-card strong {
		font-size: clamp(48px, 3.125vw, 56px);
		line-height: 1.05;
	}

	.is-home .story-section__stat p,
	.is-home .team-section__stat p,
	.is-home .metric-card span {
		font-size: clamp(18px, 1.05vw, 20px);
		line-height: 1.12;
	}

	.is-home .story-section__card,
	.is-home .team-section__card,
	.is-home .metrics-section__grid {
		min-height: clamp(200px, 22.13svh, 239px);
		margin-bottom: clamp(64px, 8.9svh, 96px);
	}

	.is-home .story-section__card,
	.is-home .team-section__card {
		padding-block: clamp(28px, 3.9svh, 42px);
	}

	.is-about-page .about-hero {
		padding: clamp(52px, 7.22svh, 78px) 0 clamp(48px, 6.67svh, 72px);
	}

	.is-about-page .about-hero h1 {
		margin-bottom: clamp(39px, 5.37svh, 58px);
	}

	.is-about-page .about-hero__rule {
		margin-bottom: clamp(39px, 5.18svh, 56px);
	}

	.is-about-page .about-hero h1,
	.is-about-page .about-hero__lead,
	.is-about-page .about-steps h2 {
		font-size: clamp(56px, 3.6458vw, 70px);
		line-height: 1.05;
	}

	.is-about-page .about-hero__lead {
		padding-bottom: clamp(39px, 5.18svh, 56px);
	}

	.is-about-page .about-hero__quote {
		padding: clamp(56px, 7.78svh, 84px) 0 0 clamp(102px, 6.875vw, 132px);
		font-size: clamp(26px, 1.6667vw, 32px);
		line-height: 1.15;
	}

	.is-about-page .about-step-card__number {
		font-size: clamp(120px, 8.854vw, 170px);
	}

	.is-about-page .about-step-card h3 {
		font-size: clamp(38px, 3.04cqw, 40px);
	}

	.is-about-page .about-step-card__body > div {
		font-size: clamp(23px, 1.862cqw, 24.5px);
		line-height: 1.12;
	}
}

@media (min-width: 1181px) and (max-height: 1080px) {
	.is-about-page .about-contract h2 {
		width: 100%;
		font-size: clamp(166px, 13.0208vw, 250px);
		line-height: .752;
	}

	.is-about-page .about-contract__grid {
		inset: clamp(390px, 39svh, 430px) 0 clamp(105px, 12svh, 135px);
	}

	.is-about-page .about-contract .about-contract-card {
		width: clamp(390px, 26.823vw, 515px);
		min-height: clamp(140px, 14.815svh, 160px);
		padding: clamp(28px, 3.333svh, 36px) clamp(18px, 1.3vw, 20px);
	}

	.is-about-page .about-contract .about-contract-card h3 {
		font-size: clamp(30px, 1.8vw, 36px);
	}

	.is-about-page .about-contract .about-contract-card div {
		font-size: clamp(18px, 1.15vw, 22px);
	}

	.is-about-page .about-contract .about-contract-card.is-active {
		height: auto;
		min-height: 0;
		max-height: none;
		padding: clamp(28px, 3.333svh, 36px) clamp(18px, 1.3vw, 20px) 1.12em;
	}
}

/* Browser zoom and short desktop windows: let the card rows size themselves.
 * A small overlap with the oversized heading is preferable to card overlap. */
@media (min-width: 1181px) and (max-height: 820px) and (hover: hover) and (pointer: fine) {
	.is-about-page .about-contract__grid {
		inset: clamp(170px, 32svh, 280px) 0 clamp(18px, 4svh, 32px);
		grid-template-rows: auto auto;
		row-gap: clamp(18px, 3svh, 26px);
		align-content: start;
	}

	.is-about-page .about-contract .about-contract-card.is-active {
		padding: clamp(20px, 3svh, 28px) clamp(18px, 1.3vw, 20px) 1.12em;
	}
}

/* Tablets through 1180px use one mobile composition and header. */
@media (min-width: 768px) and (max-width: 1180px) {
	.is-home .story-section h2,
	.is-home .team-section h2,
	.is-home .story-section__stat strong,
	.is-home .team-section__stat strong {
		font-size: 48px;
	}

	.is-home .story-section__stat p,
	.is-home .team-section__stat p {
		font-size: 18px;
		line-height: 1.15;
	}

	.is-about-page .about-hero h1,
	.is-about-page .about-hero__lead,
	.is-about-page .about-steps h2 {
		font-size: 48px;
		line-height: 1.08;
	}

	.is-about-page .about-hero__quote {
		font-size: 20px;
		line-height: 1.2;
	}

	.is-about-page .about-step-card h3 {
		font-size: 28px;
	}

	.is-about-page .about-step-card__body > div {
		font-size: 18px;
		line-height: 1.2;
	}

	.is-about-page .about-contract h2 {
		font-size: 68px;
	}

	.is-about-page .about-contract .about-contract-card h3 {
		font-size: 26px;
	}

	.is-about-page .about-project-numbers h2,
	.is-about-page .about-parallax-combo .about-project-numbers h2 {
		font-size: 58px;
		line-height: 1;
	}

	.is-about-page .about-licenses__intro .about-missions__nav {
		height: 48px;
	}

	.is-about-page .about-licenses__intro .about-missions__arrow {
		width: 48px;
		height: 48px;
		border: 2px solid #2287c8;
		background: transparent;
		box-shadow: none;
		color: #2287c8;
		opacity: 1;
	}

	.is-about-page .about-licenses__intro .about-missions__arrow:disabled {
		border-color: #90d6ea;
		background: transparent;
		box-shadow: none;
		color: #90d6ea;
		opacity: 1;
	}
}

/* Keep the revealed process copy left-aligned and slightly above centre on desktop. */
@media (min-width: 1181px) {
	.is-home .process-card:is(:hover, :focus-visible, .is-active) .process-card__copy,
	.is-home .process-card.is-active .process-card__copy {
		top: calc(50% - clamp(8px, .9vw, 18px));
		bottom: auto;
		display: block;
		height: auto;
		text-align: left;
		transform: translateY(-50%);
	}

	.is-home .process-card:is(:hover, :focus-visible, .is-active) p {
		width: 100%;
		margin: 0;
		text-align: left;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

/* Final mobile metrics surface: keep the panel opaque and dividers crisp. */
@media (max-width: 1180px) {
	body.is-home .metrics-section__grid {
		background: #fff !important;
		background-image: none !important;
		opacity: 1 !important;
		isolation: isolate;
	}

	body.is-home .metrics-section__grid::before {
		position: absolute;
		z-index: 0;
		inset: 0;
		width: auto;
		height: auto;
		background: #fff !important;
		box-shadow: none;
		content: "";
		opacity: 1 !important;
		transform: none;
	}

	body.is-home .metrics-section__grid::after {
		position: absolute;
		top: 30px;
		left: calc(50% - .5px);
		z-index: 3;
		width: 1px;
		height: 72px;
		background: #cbecfb !important;
		box-shadow: 0 141px 0 #cbecfb;
		content: "";
		opacity: 1 !important;
		transform: none;
	}

	body.is-home .metrics-section__grid > .metric-card {
		z-index: 2;
		background: #fff !important;
		opacity: 1 !important;
	}

	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text {
		left: calc(50% + .5px) !important;
		display: block !important;
		width: 370px !important;
		height: 274.5px !important;
		background: #fff !important;
		background-color: #fff !important;
		background-image: none !important;
		filter: none !important;
		mix-blend-mode: normal !important;
		opacity: 1 !important;
		isolation: isolate;
		transform: translate3d(-50%, var(--about-parallax-y), 0) !important;
	}

	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text > article {
		position: absolute !important;
		height: 96.25px !important;
		min-height: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: #fff !important;
		background-color: #fff !important;
		background-image: none !important;
		filter: none !important;
		opacity: 1 !important;
	}

	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text > article::before,
	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text > article::after {
		display: none !important;
		border: 0 !important;
		background: none !important;
		box-shadow: none !important;
		content: none !important;
	}

	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text::before,
	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text::after {
		position: absolute !important;
		left: calc(50% - .5px) !important;
		z-index: 2 !important;
		display: block !important;
		width: 1px !important;
		height: 90px !important;
		border: 0 !important;
		background: #cbecfb !important;
		box-shadow: none !important;
		content: "" !important;
		opacity: 1 !important;
		transform: none !important;
	}

	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text::before {
		top: 20px !important;
	}

	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text::after {
		top: 157px !important;
	}
}

/* Final project-numbers artboard: opaque desktop panel with stable dividers. */
@media (min-width: 1181px) {
	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text {
		width: min(100%, 1583.81px);
		height: 357.66px;
		background: #fff !important;
		background-image: none !important;
		filter: none !important;
		mix-blend-mode: normal !important;
		opacity: 1 !important;
		isolation: isolate;
	}

	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text > article {
		min-height: 357.66px;
		height: 357.66px;
		border: 0 !important;
		border-right: 1px solid #cbecfb !important;
		background: #fff !important;
		opacity: 1 !important;
	}

	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text > article:last-child {
		border-right: 0 !important;
	}

	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text::before,
	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text::after,
	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text > article::before,
body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text > article::after {
		display: none !important;
		content: none !important;
	}
}

@media (min-width: 1181px) {
	body.is-about-page .about-parallax-combo .about-areas__grid {
		--area-card-width: clamp(390px, 32.52%, 515px);
		--area-card-height: 160px;
		--area-cultural-height: 204px;
		--area-active-height: 420px;
		position: absolute;
		inset: 0;
		display: block;
		width: 100%;
		height: 100%;
		padding: 0;
		transform: translate3d(0, var(--about-parallax-y), 0) !important;
	}

	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card,
	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card.is-active {
		position: absolute;
		width: var(--area-card-width);
		height: var(--area-card-height);
		min-height: 0;
		max-height: none;
		padding: 36px 20px;
		align-self: auto;
		justify-self: auto;
	}

	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card[data-area-position="top-left"],
	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card[data-area-position="top-right"] {
		top: 29.85%;
		bottom: auto;
	}

	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card[data-area-position="bottom-left"],
	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card[data-area-position="bottom-right"] {
		top: 66.114%;
		bottom: auto;
	}

	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card[data-area-position="top-left"],
	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card[data-area-position="bottom-left"] {
		right: auto;
		left: 0;
	}

	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card[data-area-position="top-right"],
	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card[data-area-position="bottom-right"] {
		right: 0;
		left: auto;
	}

	body.is-about-page .about-parallax-combo .about-area-card[data-area-position="bottom-left"] {
		height: var(--area-cultural-height);
	}

	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card.is-active {
		height: auto !important;
		min-height: 0;
		max-height: none;
		padding: 42px 28px 1.12em;
	}

	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card.is-active div {
		max-height: none;
		overflow: visible;
	}

	body.is-about-page .about-parallax-combo .about-area-card h3 {
		font-size: clamp(24px, 2.083vw, 40px);
		line-height: 1.1;
	}
}

/* From tablet up the combined scene is two clear viewport-sized screens.
 * The 393 x 1383 phone composition in about-page.css remains untouched. */
@media (min-width: 601px) {
	body.is-about-page .about-parallax-combo {
		height: 230svh !important;
		min-height: 200svh !important;
	}

	body.is-about-page .about-parallax-combo__bg img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	body.is-about-page .about-parallax-combo .about-project-numbers,
	body.is-about-page .about-parallax-combo .about-areas {
		position: absolute;
		right: 0;
		left: 0;
		height: 100svh;
		min-height: 0;
		padding: 0;
	}

	body.is-about-page .about-parallax-combo .about-project-numbers {
		top: 0;
		bottom: auto;
	}

	body.is-about-page .about-project-numbers > .container,
	body.is-about-page .about-areas__inner {
		position: relative;
		display: block;
		height: 100%;
		min-height: 0;
	}

	body.is-about-page .about-parallax-combo .about-project-numbers h2 {
		position: absolute;
		top: clamp(24px, 4svh, 48px);
		left: 0;
		width: 100%;
		margin: 0;
		transform: translate3d(0, var(--about-parallax-y), 0) !important;
	}

	body.is-about-page .about-project-numbers__grid,
	body.is-about-page .about-parallax-combo .about-project-numbers__grid,
	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text,
	body.is-about-page .about-parallax-combo .about-project-numbers__grid.parallax-layer.parallax-text {
		position: absolute !important;
		top: auto !important;
		right: 0 !important;
		bottom: clamp(48px, 8svh, 96px) !important;
		left: 0 !important;
		height: clamp(270px, 33svh, 357.66px) !important;
		margin: 0 !important;
		transform: translate3d(0, var(--about-parallax-y), 0) !important;
	}

	body.is-about-page .about-project-numbers__grid.parallax-layer.parallax-text > article {
		height: 100% !important;
		min-height: 0 !important;
	}

	body.is-about-page .about-parallax-combo .about-areas {
		/* top: 100svh; */
		bottom: auto;
	}

	body.is-about-page .about-parallax-combo .about-areas h2 {
		/* top: clamp(24px, 4svh, 48px); */
		transform: translate3d(0, var(--about-parallax-y), 0) !important;
	}

	body.is-about-page .about-parallax-combo .about-areas__grid {
		height: 100%;
		transform: translate3d(0, var(--about-parallax-y), 0) !important;
	}
}

/* Exact desktop header composition from Figma Frame 4967. */
@media (min-width: 1920px) {
	.site-header,
	.site-header__top,
	.site-header__nav-shell {
		height: 80.48px;
	}

	.site-header__top {
		width: 100%;
		max-width: none;
		margin-inline: auto;
		border: 0;
		border-radius: 0;
		background: rgba(255, 255, 255, .84);
	}

	.site-header__top-inner,
	.site-header__nav-inner {
		box-sizing: border-box;
		width: min(1919.18px, 100%);
		max-width: none;
		height: 80.48px;
		margin-inline: auto;
	}

	.site-header__top-inner {
		padding: 14px 168px;
		gap: 103px;
	}

	.site-logo,
	.site-logo img {
		width: 125.81px;
		height: 44px;
	}

	.site-logo {
		flex: 0 0 125.81px;
	}

	.site-logo img {
		object-fit: contain;
	}

	.site-header__details {
		box-sizing: border-box;
		flex: 0 0 121.37px;
		width: 121.37px;
		height: 52.48px;
		justify-content: flex-end;
		gap: 50px;
		padding: 10px 0;
		background: transparent;
		border-radius: 0;
	}

	.header-detail:nth-child(1),
	.header-detail:nth-child(1)::before {
		width: 38.89px;
		height: 26.92px;
	}

	.header-detail:nth-child(1) {
		flex: 0 0 38.89px;
	}

	.header-detail:nth-child(2),
	.header-detail:nth-child(2)::before {
		width: 32.48px;
		height: 32.48px;
	}

	.header-detail:nth-child(2) {
		flex: 0 0 32.48px;
	}

	.site-header__nav-shell {
		right: auto;
		left: 50%;
		width: min(1919.18px, 100%);
		transform: translateX(-50%);
	}

	.site-header.is-scrolled .site-header__nav-shell {
		transform: translateX(-50%);
	}

	.site-header.is-scrolled .site-header__top {
		background: rgba(255, 255, 255, .84);
	}

	.site-header__nav-inner {
		padding: 14px 392.37px 14px 396.81px;
	}

	.site-header .site-nav__list {
		justify-content: flex-start;
		gap: 103px;
	}


	.site-header .site-nav__link,
	.site-header .site-nav__label {
		font-size: 22px;
		line-height: 24px;
	}

	.site-main,
	.is-inner.is-services-page .site-main,
	.is-inner.is-contacts-page .site-main {
		padding-top: 80.48px;
	}
}

/* Desktop zoom: allow the application-area scene to grow with its content.
 * Touch tablets keep the compact fixed composition above. */
@media (min-width: 601px) and (max-width: 1180px) and (hover: hover) and (pointer: fine) {
	body.is-about-page .about-parallax-combo {
		height: auto !important;
		min-height: max(100svh, 900px) !important;
	}

	body.is-about-page .about-parallax-combo__bg img {
		height: 100%;
		min-height: max(100svh, 900px);
		object-fit: cover;
	}

	body.is-about-page .about-parallax-combo .about-areas {
		position: relative;
		top: auto;
		height: auto;
		min-height: 0;
		padding: max(100svh, 900px) 0 64px;
	}

	body.is-about-page .about-areas__inner {
		height: auto;
		min-height: 0;
	}

	body.is-about-page .about-areas h2,
	body.is-about-page .about-parallax-combo .about-areas h2 {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		height: auto;
		font-size: clamp(64px, 10vw, 118px);
		line-height: .82;
	}

	body.is-about-page .about-areas__grid,
	body.is-about-page .about-parallax-combo .about-areas__grid {
		position: relative;
		inset: auto;
		display: grid;
		width: 100%;
		height: auto;
		margin-top: clamp(48px, 8vw, 88px);
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(18px, 3vw, 32px);
	}

	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card,
	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card.is-active,
	body.is-about-page .about-parallax-combo .about-areas__grid .about-area-card[data-area-position] {
		position: relative;
		inset: auto;
		width: 100%;
		height: auto !important;
		min-height: clamp(116px, 14vw, 160px);
		max-height: none;
		padding: clamp(22px, 3vw, 36px) clamp(16px, 2.4vw, 24px);
	}

	body.is-about-page .about-areas.has-active-area .about-area-card:not(.is-active) {
		display: flex;
		height: 0 !important;
		min-height: 0;
		max-height: 0;
		padding-top: 0;
		padding-bottom: 0;
		overflow: hidden;
		opacity: 0;
		pointer-events: none;
	}

	body.is-about-page .about-areas.has-active-area .about-area-card.is-active {
		width: 100%;
		height: auto !important;
		min-height: 0;
		max-height: none;
		grid-column: 1 / -1;
		padding: clamp(27px, 4vw, 42px) clamp(18px, 3vw, 28px) 1.18em;
	}

	body.is-about-page .about-areas.has-active-area .about-area-card.is-active div {
		max-height: none;
		margin-top: 1.18em;
		overflow: visible;
	}
}

/* Project separators must survive this file's later cascade. */
.is-direction-detail-page .direction-project-card {
	position: relative;
	border: 0;
	box-shadow: none;
}

.is-direction-detail-page .direction-project-card::before,
.is-direction-detail-page .direction-project-card:last-child::after,
.is-direction-detail-page .direction-project-card:last-of-type::after {
	position: absolute;
	z-index: 5;
	top: 10.79%;
	display: block;
	width: 0;
	height: 78.42%;
	border-left: 1px solid rgba(34, 135, 200, .55);
	content: "";
	pointer-events: none;
	-webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, .1) 0%, #000 10%, #000 90%, rgba(0, 0, 0, .1) 100%);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, .1) 0%, #000 10%, #000 90%, rgba(0, 0, 0, .1) 100%);
}

.is-direction-detail-page .direction-project-card::before {
	left: -10px;
}

.is-direction-detail-page .direction-project-card:first-child::before,
.is-direction-detail-page .direction-project-card:first-of-type::before {
	left: 0;
}

.is-direction-detail-page .direction-project-card:last-child::after,
.is-direction-detail-page .direction-project-card:last-of-type::after {
	right: 0;
}

.is-direction-detail-page .direction-project-card:hover {
	box-shadow: none;
}

@media (max-width: 1180px) {
	.is-direction-detail-page .direction-project-card::before {
		left: -7px;
	}

	.is-direction-detail-page .direction-project-card:first-child::before,
	.is-direction-detail-page .direction-project-card:first-of-type::before {
		left: 0;
	}
}

@media (min-width: 1181px) and (max-height: 1080px) {
	.is-direction-detail-page .direction-competencies {
		height: auto;
		min-height: var(--direction-competencies-height, auto);
	}
}

/* Header navigation: reserve independent space for logo, six menu items and contacts.
 * Keep the 1584px content rail and the existing 1180px mobile breakpoint. */
@media (min-width: 1181px) {
	.site-header__top-inner,
	.site-header__nav-shell {
		width: min(1584px, calc(100% - 64px));
		max-width: none;
	}

	.site-header__top-inner {
		padding-inline: 0;
	}

	.site-header__nav-shell,
	.site-header.is-scrolled .site-header__nav-shell {
		left: 50%;
		right: auto;
		transform: translateX(-50%);
	}

	.site-header__nav-inner {
		box-sizing: border-box;
		width: 100%;
		padding: 0 clamp(132px, 10vw, 180px) 0 clamp(160px, 12vw, 230px);
	}

	.site-header .site-nav {
		min-width: 0;
		width: 100%;
	}

	.site-header .site-nav__list {
		width: 100%;
		justify-content: space-between;
		gap: clamp(10px, 1.2vw, 24px);
	}

	.site-header .site-nav__item {
		flex: 0 0 auto;
		min-width: 0;
	}

	.site-header .site-nav__row {
		gap: 6px;
		align-items: center;
	}

	.site-header .site-nav__link,
	.site-header .site-nav__label {
		font-size: clamp(16px, 1.1458vw, 22px);
		line-height: 1.2;
		white-space: nowrap;
	}

	.site-header .site-nav__dropdown-toggle,
	.site-header .site-nav__chevron {
		flex: 0 0 24px;
		width: 24px;
	}

	.site-header .site-nav__chevron {
		background-size: 24px auto;
	}

	.site-header .site-nav__dropdown {
		box-sizing: border-box;
		width: max-content;
		min-width: 300px;
		max-width: min(620px, calc(100vw - 64px));
	}

	.site-header .site-nav__item:has(.site-nav__link[href$="solutions/"]) .site-nav__dropdown {
		left: 0;
		right: auto;
		min-width: 0;
		max-width: min(620px, 35vw);
	}

	.site-header .site-nav__dropdown-list {
		align-items: stretch;
		padding-inline: 20px;
	}

	.site-header .site-nav__dropdown-list > li {
		min-width: 0;
		width: 100%;
	}

	.site-header .site-nav__dropdown-link {
		width: 100%;
		margin: 0;
		white-space: normal;
		overflow-wrap: anywhere;
	}
}

/* End */
/* /local/templates/alpha_energy/template_styles.css?1791378840179436 */
/* /local/templates/alpha_energy/inner-pages.css?179137661623430 */
/* /local/templates/alpha_energy/mobile-header.css?17912686363883 */
/* /local/templates/alpha_energy/large-display.css?17912686423060 */
/* /local/templates/alpha_energy/responsive-system.css?179126864276708 */
