/* Front page specific styles */

.home .site-main {
	padding: 0;
}

.home .container,
.home .section-inner {
	max-width: calc(var(--container-max) + (var(--container-padding) * 2));
}

.home .container-wide {
	max-width: calc(var(--container-wide-max) + (var(--container-padding) * 2));
}

.home .site-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10;
	background: transparent;
	color: #ffffff;
}

.home .site-header.is-scrolled {
	position: fixed;
	z-index: 120;
	background: #2b2d3b;
}

.front-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	overflow: hidden;
	min-height: 800px;
	padding: 144px 0;
	color: #ffffff;
	background: #111923;

	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.front-hero::before,
.front-hero::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.front-hero::before {
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(135deg, #173b59 0%, #0c4f51 52%, #07533f 100%);
}

.front-hero::after {
	inset: 0;
	z-index: 1;
	background:
		radial-gradient(ellipse at 50% 42%, transparent 0 24%, rgba(7, 12, 18, 0.08) 58%, rgba(7, 12, 18, 0.3) 100%);
}

.front-hero__shadows {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.front-hero__shadow {
	--front-hero-pointer-x: 0px;
	--front-hero-pointer-y: 0px;

	position: absolute;
	display: block;
	border-radius: 999px;
	filter: blur(58px);
	opacity: 0.88;
	translate: var(--front-hero-pointer-x) var(--front-hero-pointer-y);
	will-change: transform, translate;
}

.front-hero__shadow--blue {
	top: -10%;
	left: -14%;
	width: 44vw;
	height: 48%;
	background: rgba(7, 22, 38, 0.82);
	animation: front-hero-shadow-blue 12s ease-in-out infinite alternate;
}

.front-hero__shadow--green {
	top: -20%;
	right: -10%;
	width: 38vw;
	height: 46%;
	background: rgba(22, 174, 124, 0.62);
	animation: front-hero-shadow-green 15s ease-in-out infinite alternate-reverse;
}

.front-hero__shadow--teal {
	right: -8%;
	bottom: -20%;
	width: 40vw;
	height: 48%;
	background: rgba(25, 135, 142, 0.68);
	animation: front-hero-shadow-teal 11s ease-in-out infinite alternate;
}

.front-hero__shadow--deep {
	bottom: -14%;
	left: -10%;
	width: 42vw;
	height: 46%;
	background: rgba(5, 15, 29, 0.78);
	animation: front-hero-shadow-deep 16s ease-in-out infinite alternate-reverse;
}

@keyframes front-hero-shadow-blue {
	0% {
		transform: translate3d(-18%, -8%, 0) scale(0.84) rotate(-12deg);
	}

	45% {
		transform: translate3d(62%, 64%, 0) scale(1.18) rotate(8deg);
	}

	100% {
		transform: translate3d(118%, 16%, 0) scale(0.94) rotate(18deg);
	}
}

@keyframes front-hero-shadow-green {
	0% {
		transform: translate3d(20%, -12%, 0) scale(0.88) rotate(12deg);
	}

	52% {
		transform: translate3d(-72%, 76%, 0) scale(1.22) rotate(-10deg);
	}

	100% {
		transform: translate3d(-132%, 18%, 0) scale(0.96) rotate(-18deg);
	}
}

@keyframes front-hero-shadow-teal {
	0% {
		transform: translate3d(18%, 20%, 0) scale(0.84) rotate(-14deg);
	}

	50% {
		transform: translate3d(-74%, -78%, 0) scale(1.2) rotate(8deg);
	}

	100% {
		transform: translate3d(-126%, -22%, 0) scale(0.92) rotate(18deg);
	}
}

@keyframes front-hero-shadow-deep {
	0% {
		transform: translate3d(-20%, 20%, 0) scale(0.92) rotate(12deg);
	}

	48% {
		transform: translate3d(70%, -84%, 0) scale(1.24) rotate(-10deg);
	}

	100% {
		transform: translate3d(128%, -26%, 0) scale(0.9) rotate(-18deg);
	}
}

.front-hero__inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.front-hero__title {
	margin: 0 0 24px;
	max-width: 920px;
	font-family: var(--font-ui);
	font-weight: var(--fw-bold);
	font-size: 64px;
	line-height: 72px;
}

.front-hero__lead {
	margin: 0 0 44px;
	max-width: 848px;
	font-family: var(--font-ui);
	font-weight: var(--fw-regular);
	font-size: 24px;
	line-height: 32px;
}

.front-hero__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 22px;
	border-radius: 2px;
	background: var(--color-accent);
	color: #ffffff;
	font-family: var(--font-ui);
	font-weight: var(--fw-regular);
	font-size: 16px;
	line-height: 20px;
	text-decoration: none;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

@media (prefers-reduced-motion: reduce) {
	.front-hero__shadow {
		animation: none;
	}
}

.about-text {
	padding-top: 100px;
	padding-bottom: 100px;
}

.about-text__title {
	margin: 0;
	font-family: var(--font-ui);
	font-weight: 400;
	font-size: 40px;
	line-height: 56px;
	letter-spacing: 0;
	color: #000000;
	text-align: left;
}

.about-text__accent-link {
	color: #059669;
	text-decoration-line: underline;
	text-decoration-style: wavy;
	text-decoration-color: rgba(5, 150, 105, 0.2);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.15em;
	transition: color 180ms ease, text-decoration-color 180ms ease;
}

.about-text__accent-link:hover,
.about-text__accent-link:focus-visible {
	color: #047857;
	text-decoration-color: rgba(4, 120, 87, 0.35);
}

.partners {
	padding-top: 100px;
	padding-bottom: 100px;
}

.partners__title {
	margin: 0;
	font-family: var(--font-ui);
	font-weight: 400;
	font-size: 22px;
	line-height: 28px;
	letter-spacing: 0;
	text-align: center;
	color: #000000;
}

.partners__filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	width: 100%;
	max-width: none;
	margin: 24px auto 0;
}

.partners .partners__filter {
	display: inline-flex;
	align-items: center;
	padding: 10px 16px;
	border: 1px solid #e5e5eb;
	border-radius: 999px;
	background: #ffffff;
	color: #000000;
	font-family: var(--font-ui);
	font-weight: 400;
	font-size: 14px;
	line-height: 16px;
	letter-spacing: 0;
	cursor: pointer;
	transition: color 180ms ease, border-color 180ms ease;
}

.partners .partners__filter:hover,
.partners .partners__filter:focus-visible {
	border-color: #059669;
	background: #ffffff;
	color: #059669;
}

.partners__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	width: 100%;
	max-width: none;
	margin: 48px auto 0;
}

.partners__item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 104px;
	padding: 0;
	border-top: 1px solid #e5e5eb;
	border-left: 1px solid #e5e5eb;
	transition: opacity 180ms ease;
}

.partners__item:nth-child(-n + 5) {
	border-top: 0;
}

.partners__item:nth-child(5n + 1) {
	border-left: 0;
}

.partners__item--empty {
	pointer-events: none;
}

.partners__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

.partners__logo {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	transition: opacity 180ms ease;
}

.partners:has(.partners__filter[data-group="regulators"]:hover) .partners__item[data-group]:not([data-group="regulators"]) .partners__logo,
.partners:has(.partners__filter[data-group="regulators"]:focus-visible) .partners__item[data-group]:not([data-group="regulators"]) .partners__logo,
.partners:has(.partners__filter[data-group="medical-devices"]:hover) .partners__item[data-group]:not([data-group="medical-devices"]) .partners__logo,
.partners:has(.partners__filter[data-group="medical-devices"]:focus-visible) .partners__item[data-group]:not([data-group="medical-devices"]) .partners__logo,
.partners:has(.partners__filter[data-group="raw-materials"]:hover) .partners__item[data-group]:not([data-group="raw-materials"]) .partners__logo,
.partners:has(.partners__filter[data-group="raw-materials"]:focus-visible) .partners__item[data-group]:not([data-group="raw-materials"]) .partners__logo,
.partners:has(.partners__filter[data-group="science"]:hover) .partners__item[data-group]:not([data-group="science"]) .partners__logo,
.partners:has(.partners__filter[data-group="science"]:focus-visible) .partners__item[data-group]:not([data-group="science"]) .partners__logo,
.partners:has(.partners__filter[data-group="development"]:hover) .partners__item[data-group]:not([data-group="development"]) .partners__logo,
.partners:has(.partners__filter[data-group="development"]:focus-visible) .partners__item[data-group]:not([data-group="development"]) .partners__logo,
.partners:has(.partners__filter[data-group="industrial"]:hover) .partners__item[data-group]:not([data-group="industrial"]) .partners__logo,
.partners:has(.partners__filter[data-group="industrial"]:focus-visible) .partners__item[data-group]:not([data-group="industrial"]) .partners__logo {
	opacity: 0.2;
}

.activities {
	padding-top: 100px;
	padding-bottom: 100px;
}

.activities__header {
	width: 100%;
}

.activities__title {
	margin: 0;
	font-family: var(--font-ui);
	font-weight: var(--fw-medium);
	font-size: 30px;
	line-height: 36px;
	color: #000000;
}

.activities__text {
	margin: 24px 0 0;
	max-width: 736px;
	font-family: var(--font-text);
	font-weight: var(--fw-regular);
	font-size: 18px;
	line-height: 28px;
	color: #000000;
}

.activities__grid {
	display: grid;
	grid-template-columns: repeat(3, 320px);
	gap: 32px;
	margin-top: 48px;
	justify-content: start;
	align-items: start;
}

.activities__card {
	--activity-icon-url: none;
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	width: 320px;
	height: 427px;
	padding: 24px;
	border: 1px solid #e5e5eb;
	border-radius: 4px;
	background: #ffffff;
	color: #000000;
	text-decoration: none;
	box-shadow: none;
	overflow: hidden;
	transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
	scroll-margin-top: calc(var(--header-scroll-offset, 0px) + 24px);
}

.activities__card::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: #2b2d3b;
	-webkit-mask-image: var(--activity-icon-url);
	mask-image: var(--activity-icon-url);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-position: center;
	mask-position: center;
	transition: background-color 180ms ease;
	pointer-events: none;
}

.activities__card:hover {
	background: #ffffff;
	border-color: transparent;
	box-shadow: 0 25px 50px -12px rgba(5, 150, 105, 0.25);
}

.activities__card:focus,
.activities__card:focus-visible {
	outline: 2px solid rgba(5, 150, 105, 0.65);
	outline-offset: 2px;
	border-color: transparent;
	box-shadow: 0 25px 50px -12px rgba(5, 150, 105, 0.25);
}

.activities__card-title {
	position: relative;
	z-index: 1;
	margin: 0;
	font-family: var(--font-ui);
	font-weight: var(--fw-medium);
	font-size: 22px;
	line-height: 28px;
	color: #000000;
	transition: color 180ms ease;
}

.activities__card--statistics-analytics {
	--activity-icon-url: url("../images/activity/ic_statistics-analytics.svg");
}

.activities__card--standardization {
	--activity-icon-url: url("../images/activity/ic_standardization.svg");
}

.activities__card--qms-registry {
	--activity-icon-url: url("../images/activity/ic_qms-registry.svg");
}

.activities__card--rehabilitation-industry {
	--activity-icon-url: url("../images/activity/ic_rehabilitation-industry.svg");
}

.activities__card--scientific-backlog {
	--activity-icon-url: url("../images/activity/ic_rehabilitation-industry-1.svg");
}

.activities__arrow {
	position: absolute;
	right: 24px;
	bottom: 24px;
	width: 48px;
	height: 48px;
	z-index: 1;
	background-color: #e5e5eb;
	-webkit-mask-image: url("../images/arrow.svg");
	mask-image: url("../images/arrow.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
	transition: background-color 180ms ease;
}

.activities__card:hover::before,
.activities__card:hover .activities__arrow,
.activities__card:focus::before,
.activities__card:focus .activities__arrow,
.activities__card:focus-visible::before,
.activities__card:focus-visible .activities__arrow {
	background-color: #059669;
}

.activities__card:hover .activities__card-title,
.activities__card:focus .activities__card-title,
.activities__card:focus-visible .activities__card-title {
	color: #059669;
}

.services {
	padding-top: 100px;
	padding-bottom: 100px;
}

.services__header {
	width: 100%;
}

.services__title {
	margin: 0;
	font-family: var(--font-ui);
	font-weight: var(--fw-medium);
	font-size: 30px;
	line-height: 36px;
	color: #000000;
}

.services__text {
	margin: 32px 0 0;
	max-width: 736px;
	font-family: var(--font-text);
	font-weight: var(--fw-regular);
	font-size: 18px;
	line-height: 28px;
	color: #000000;
}

.services__cards {
	margin-top: 48px;
}

.services__cards-bleed {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.services__card {
	width: 100%;
	position: relative;
	scroll-margin-top: calc(var(--header-scroll-offset, 0px) + 24px);
}

.services__card-inner.container {
	max-width: calc(var(--container-max) + (var(--container-padding) * 2));
	padding-inline: var(--container-padding);
}

.services__card--expanded {
	background: #2b2d3b;
	border-radius: 24px 24px 0 0;
	color: #ffffff;
	overflow: hidden;
}

.services__card--expanded.services__card--light {
	background: #e5e5eb;
	border-radius: 0;
	color: #000000;
}

.services__card--expanded .services__card-inner {
	padding-top: 32px;
	padding-bottom: 64px;
}

.services__expanded-grid {
	display: grid;
	grid-template-columns: 472px 496px;
	grid-template-rows: minmax(0, 1fr) auto;
	column-gap: 56px;
	align-items: stretch;
}

.services__expanded-left {
	display: flex;
	grid-column: 1;
	grid-row: 1;
}

.services__expanded-main {
	display: flex;
	width: 100%;
}

.services__number {
	margin: 0;
	position: absolute;
	left: 24px;
	z-index: 2;
	pointer-events: none;
	font-family: var(--font-ui);
	font-weight: var(--fw-regular);
	font-size: 30px;
	line-height: 36px;
}

.services__expanded-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.services__number--expanded {
	top: 32px;
	color: rgba(255, 255, 255, 0.2);
}

.services__card--light .services__number--expanded {
	color: rgba(0, 0, 0, 0.2);
}

.services__expanded-heading {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.services__card-title {
	margin: 0;
	font-family: var(--font-ui);
	font-weight: var(--fw-medium);
	font-size: 30px;
	line-height: 36px;
	color: #ffffff;
}

.services__card--light .services__card-title {
	color: #000000;
}

.services__expanded-media {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	grid-column: 2;
	grid-row: 1 / span 2;
}

.services__description {
	margin-top: 32px;
}

.services__description p {
	margin: 0;
	font-family: var(--font-text);
	font-weight: var(--fw-regular);
	font-size: 18px;
	line-height: 28px;
	color: #ffffff;
}

.services__card--light .services__description p {
	color: #000000;
}

.services__description p + p {
	margin-top: 16px;
}

.services__expanded-meta {
	margin-top: 64px;
}

.services__details {
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.24);
	border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}

.services__card--light .services__details {
	border-color: rgba(43, 45, 59, 0.14);
}

.services__details-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 24px;
	align-items: start;
	padding: 24px 0;
}

.services__details-row--analysis-objects {
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
}

.services__details-row + .services__details-row {
	border-top: 1px solid rgba(255, 255, 255, 0.24);
}

.services__card--light .services__details-row + .services__details-row {
	border-top-color: rgba(43, 45, 59, 0.14);
}

.services__details dt,
.services__details dd {
	margin: 0;
	font-family: var(--font-text);
	font-weight: var(--fw-regular);
	font-size: 18px;
	line-height: 28px;
	color: #ffffff;
}

.services__card--light .services__details dt,
.services__card--light .services__details dd {
	color: #000000;
}

.services__details dd {
	text-align: right;
}

.services__button {
	display: block;
	grid-column: 1;
	grid-row: 2;
	width: 100%;
	margin-top: 48px;
	padding: 12px 16px;
	border-radius: 2px;
	background: var(--color-accent);
	color: #ffffff;
	font-family: var(--font-text);
	font-weight: var(--fw-regular);
	font-size: 16px;
	line-height: 20px;
	text-align: center;
	text-decoration: none;
	transition: filter 180ms ease;
}

.services__button:hover,
.services__button:focus-visible {
	color: #ffffff;
	text-decoration: none;
	filter: brightness(0.95);
}

.services__expanded-media-photo {
	display: block;
	position: absolute;
	inset: 0;
	border-radius: 4px;
	background-image: var(--services-media-photo);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.services__expanded-media-sticky {
	position: absolute;
	top: 80px;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 496px;
}

@media (hover: none) {
	.partners:has(.partners__filter[data-group="regulators"]:hover) .partners__item[data-group]:not([data-group="regulators"]) .partners__logo,
	.partners:has(.partners__filter[data-group="regulators"]:focus-visible) .partners__item[data-group]:not([data-group="regulators"]) .partners__logo,
	.partners:has(.partners__filter[data-group="medical-devices"]:hover) .partners__item[data-group]:not([data-group="medical-devices"]) .partners__logo,
	.partners:has(.partners__filter[data-group="medical-devices"]:focus-visible) .partners__item[data-group]:not([data-group="medical-devices"]) .partners__logo,
	.partners:has(.partners__filter[data-group="raw-materials"]:hover) .partners__item[data-group]:not([data-group="raw-materials"]) .partners__logo,
	.partners:has(.partners__filter[data-group="raw-materials"]:focus-visible) .partners__item[data-group]:not([data-group="raw-materials"]) .partners__logo,
	.partners:has(.partners__filter[data-group="science"]:hover) .partners__item[data-group]:not([data-group="science"]) .partners__logo,
	.partners:has(.partners__filter[data-group="science"]:focus-visible) .partners__item[data-group]:not([data-group="science"]) .partners__logo,
	.partners:has(.partners__filter[data-group="development"]:hover) .partners__item[data-group]:not([data-group="development"]) .partners__logo,
	.partners:has(.partners__filter[data-group="development"]:focus-visible) .partners__item[data-group]:not([data-group="development"]) .partners__logo,
	.partners:has(.partners__filter[data-group="industrial"]:hover) .partners__item[data-group]:not([data-group="industrial"]) .partners__logo,
	.partners:has(.partners__filter[data-group="industrial"]:focus-visible) .partners__item[data-group]:not([data-group="industrial"]) .partners__logo {
		opacity: 1;
	}

	.activities__card:hover {
		border-color: #e5e5eb;
		box-shadow: none;
	}

	.activities__card:hover::before,
	.activities__card:hover .activities__arrow {
		background-color: #2b2d3b;
	}

	.activities__card:hover .activities__arrow {
		background-color: #e5e5eb;
	}

	.activities__card:hover .activities__card-title {
		color: #000000;
	}
}

.partners .partners__filter.is-active {
	border-color: #059669;
	color: #059669;
}

.partners__item.is-muted .partners__logo {
	opacity: 0.2;
}

@media (max-width: 1199px) {
	.front-hero {
		min-height: 660px;
		padding: 124px 0 96px;
	}

	.front-hero__title {
		max-width: 900px;
		font-size: 52px;
		line-height: 60px;
	}

	.front-hero__lead {
		margin-bottom: 32px;
		font-size: 22px;
		line-height: 30px;
	}

	.front-hero__button {
		min-height: 44px;
	}

	.partners {
		padding-top: 140px;
		padding-bottom: 80px;
	}

	.partners__filters {
		gap: 12px;
		margin-top: 20px;
	}

	.partners .partners__filter {
		min-height: 44px;
	}

	.partners__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin-top: 36px;
	}

	.partners__item {
		min-height: 96px;
	}

	.partners__item:nth-child(-n + 5),
	.partners__item:nth-child(5n + 1) {
		border-top: 1px solid #e5e5eb;
		border-left: 1px solid #e5e5eb;
	}

	.partners__item:nth-child(-n + 3) {
		border-top: 0;
	}

	.partners__item:nth-child(3n + 1) {
		border-left: 0;
	}

	.about-text {
		padding-top: 80px;
		padding-bottom: 80px;
	}

	.about-text__title {
		font-size: 36px;
		line-height: 46px;
	}

	.activities {
		padding-top: 80px;
		padding-bottom: 80px;
	}

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

	.activities__card {
		width: 100%;
		height: 360px;
	}

	.services {
		padding-top: 80px;
		padding-bottom: 80px;
	}

	.services__text {
		margin-top: 24px;
	}

	.services__cards {
		margin-top: 36px;
	}

	.services__card-inner.container {
		padding-inline: 24px;
	}

	.services__expanded-grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-rows: minmax(0, 1fr) auto;
		column-gap: 24px;
	}

	.services__expanded-media-photo {
		max-width: 100%;
	}

	.services__expanded-media-sticky {
		max-width: 100%;
	}
}

@media (max-width: 1120px) {
	.services__number {
		position: static;
		display: block;
		margin-bottom: 8px;
		transform: none;
	}

	.services__number--expanded {
		color: rgba(255, 255, 255, 0.32);
	}

	.services__card--light .services__number--expanded {
		color: rgba(0, 0, 0, 0.32);
	}
}

@media (max-width: 767px) {
	.front-hero {
		min-height: 540px;
		padding: 110px 0 72px;
	}

	.front-hero__title {
		margin-bottom: 16px;
		font-size: 36px;
		line-height: 44px;
	}

	.front-hero__lead {
		margin-bottom: 24px;
		font-size: 18px;
		line-height: 26px;
	}

	.about-text {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.about-text__title {
		font-size: 28px;
		line-height: 38px;
	}

	.partners {
		padding-top: 80px;
		padding-bottom: 56px;
	}

	.partners__filters {
		--partners-filter-fade-left: 0px;
		--partners-filter-fade-right: 0px;

		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 10px;
		margin-top: 18px;
		overflow-x: auto;
		padding-bottom: 4px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		-webkit-mask-image: linear-gradient(
			to right,
			transparent 0,
			#000000 var(--partners-filter-fade-left),
			#000000 calc(100% - var(--partners-filter-fade-right)),
			transparent 100%
		);
		mask-image: linear-gradient(
			to right,
			transparent 0,
			#000000 var(--partners-filter-fade-left),
			#000000 calc(100% - var(--partners-filter-fade-right)),
			transparent 100%
		);
	}

	.partners__filters::-webkit-scrollbar {
		display: none;
	}

	.partners__filters.has-scroll-left {
		--partners-filter-fade-left: 36px;
	}

	.partners__filters.has-scroll-right {
		--partners-filter-fade-right: 36px;
	}

	.partners .partners__filter {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	.partners__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 28px;
	}

	.partners__item--empty {
		display: none;
	}

	.partners__item.is-hidden-mobile {
		display: none;
	}

	.partners__grid > .partners__item {
		border-top: 1px solid #e5e5eb;
		border-left: 1px solid #e5e5eb;
	}

	.partners__grid > .partners__item--mobile-first-row {
		border-top: 0;
	}

	.partners__grid > .partners__item--mobile-row-start {
		border-left: 0;
	}

	.partners__grid.has-mobile-filter-gap::after {
		content: "";
		display: block;
		min-height: 96px;
		border-top: 1px solid #e5e5eb;
		border-left: 1px solid #e5e5eb;
		pointer-events: none;
	}

	.partners__grid.has-mobile-filter-gap-first-row::after {
		border-top: 0;
	}

	.activities {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.activities__text {
		margin-top: 16px;
	}

	.activities__grid {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 28px;
	}

	.activities__card {
		height: 300px;
	}

	.activities__card-title {
		font-size: 20px;
		line-height: 26px;
	}

	.activities__arrow {
		width: 44px;
		height: 44px;
	}

	.services {
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.services__card--expanded {
		border-radius: 16px 16px 0 0;
	}

	.services__card--expanded .services__card-inner {
		position: relative;
		padding-top: 24px;
		padding-inline: 24px;
		padding-bottom: 32px;
	}

	.services__number {
		font-size: 24px;
		line-height: 30px;
	}

	.services__expanded-grid {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		row-gap: 24px;
	}

	.services__expanded-left,
	.services__expanded-main,
	.services__expanded-body {
		display: block;
	}

	.services__card-title {
		font-size: 26px;
		line-height: 32px;
	}

	.services__expanded-heading {
		order: initial;
	}

	.services__description {
		margin-top: 20px;
	}

	.services__description p,
	.services__details dt,
	.services__details dd {
		font-size: 16px;
		line-height: 24px;
	}

	.services__expanded-meta {
		margin-top: 24px;
	}

	.services__details-row {
		padding: 16px 0;
	}

	.services__button {
		grid-column: 1;
		grid-row: auto;
		margin-top: 0;
		min-height: 44px;
	}

	.services__expanded-media {
		position: static;
		grid-column: 1;
		grid-row: auto;
		align-items: stretch;
		min-height: 0;
	}

	.services__expanded-media-sticky {
		position: static;
		display: block;
		height: auto;
		max-width: none;
	}

	.services__expanded-media-photo {
		position: static;
		margin-top: 0;
		width: 100%;
		height: auto;
		flex: none;
		aspect-ratio: 4 / 5;
		background-position: center;
	}
}

@media (max-width: 480px) {
	.front-hero {
		min-height: 500px;
		padding-top: 104px;
	}

	.front-hero__title {
		font-size: 32px;
		line-height: 40px;
	}

	.about-text__title {
		font-size: 24px;
		line-height: 34px;
	}

	.services__details-row {
		grid-template-columns: 1fr;
		row-gap: 8px;
	}

	.services__details dd {
		text-align: left;
	}

}
