/* Секции страниц и компоненты содержимого. */

.gs-section {
	padding-block: 40px;
}

.gs-section--features,
.gs-section--services,
.gs-section--projects,
.gs-section--steps,
.gs-section--faq {
	padding-block: 0;
}

/* 1px добора: у оригинала между сеткой услуг и следующим заголовком ровно 1px. */
.gs-section--services {
	padding-bottom: 1px;
}

.gs-section--explore {
	padding-block: 15px;
}

.gs-section--link-cards {
	padding-block: 70px 30px;
}

.gs-section--features .gs-grid {
	padding: 20px 10px;
}

.gs-section--projects .gs-grid {
	padding: 10px 0;
}

.gs-section--steps .gs-media {
	padding: 10px 0;
}

.gs-section--faq .gs-faq {
	padding: 10px 0;
}

.gs-section--cta-space {
	margin-block: 40px 30px;
}

.gs-section__title {
	margin: 0 0 var(--gs-space-3);
	font-size: clamp(24px, 3vw, 35px);
}

/* Hero */
.gs-hero {
	padding-block: 0;
}

@media (min-width: 1025px) {
	.gs-hero.gs-hero--compact {
		min-height: 700px;
	}

	.gs-hero--compact .gs-hero__inner {
		min-height: 700px;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 0;
	}

	.gs-hero--compact .gs-hero__content {
		padding: 10px;
	}
}

.gs-hero--dark {
	background: var(--gs-color-primary);
	color: var(--gs-color-secondary);
}

.gs-hero--light {
	background: var(--gs-color-secondary);
}

.gs-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--gs-space-4);
	align-items: center;
}

.gs-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 30px;
	min-width: 0;
	padding: 10px;
}

.gs-hero__title {
	margin: 0;
	line-height: 1.25;
}

.gs-hero__subtitle {
	margin: 0;
	font-size: 21px;
	font-weight: 500;
	line-height: 27px;
}

.gs-hero--dark .gs-hero__subtitle,
.gs-hero--dark .gs-hero__text,
.gs-hero--dark .gs-hero__tags {
	color: var(--gs-color-secondary);
}

.gs-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.gs-hero__tags {
	margin: 0;
	font-size: 14px;
	font-weight: 300;
	line-height: 20px;
	color: var(--gs-color-muted);
}

.gs-hero__figure {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 10px;
}

.gs-hero__figure--lottie {
	display: none;
}

.gs-hero__lottie {
	width: 100%;
	max-width: 436px;
}

.gs-hero__lottie svg {
	display: block;
	width: 100%;
	height: auto;
}

/* На живом сайте анимация показывается только на десктопе. */
@media (min-width: 1025px) {
	.gs-hero__inner {
		min-height: 800px;
		padding-block: 10px;
	}

	.gs-hero--dark.gs-hero--with-media .gs-hero__inner {
		grid-template-columns: minmax(0, 684px) minmax(0, 456px);
		gap: 0;
	}

	.gs-hero--light .gs-hero__inner {
		min-height: var(--gs-hero-min-height, 700px);
		grid-template-columns: minmax(0, 570px) minmax(0, 570px);
		gap: 0;
	}

	.gs-hero--light .gs-hero__content {
		gap: 20px;
	}

	.gs-hero__figure--lottie {
		display: flex;
	}
}

.gs-hero__heading {
	margin: 0;
	font-size: 30px;
	font-weight: 700;
	line-height: 33px;
	color: var(--gs-color-primary);
}

.gs-hero--light .gs-hero__figure img {
	width: 550px;
	max-width: 100%;
	height: auto;
	border-radius: var(--gs-radius-card);
}

.gs-hero__image {
	width: 100%;
	height: auto;
	border-radius: var(--gs-radius-card);
}

/* Общий двухколоночный блок */
.gs-media {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--gs-space-5);
	align-items: start;
}

.gs-section--steps .gs-media,
.gs-section--numbered .gs-media,
.gs-section--text-media .gs-media,
.gs-section--integrations .gs-media {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0;
}

.gs-media__body {
	min-width: 0;
	padding: 10px;
}

.gs-media__figure {
	margin: 0;
	padding: 10px;
	min-width: 0;
}

.gs-media__image {
	width: 100%;
	border-radius: var(--gs-radius-card);
}

.gs-section--steps .gs-media__image {
	max-width: 468px;
	margin-inline: auto;
	border-radius: 0;
}

.gs-section--reverse .gs-media__body {
	order: 2;
}

.gs-section--reverse .gs-media__figure {
	order: 1;
}

/* Единая красная линия нумерованных списков: шаги, numbered, кейсы. */
.gs-rule-list__body {
	border-left: 4px solid var(--gs-color-accent);
}

/* Шаги процесса */
.gs-steps {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 20px;
}

.gs-steps__item {
	padding: 10px;
}

.gs-steps__inner {
	display: grid;
	grid-template-columns: 14px minmax(0, 1fr);
	gap: 20px;
	align-items: center;
	margin-left: -10px;
	padding: 10px 0 10px 8px;
}

.gs-steps__body {
	padding-left: 14px;
	padding-right: 5px;
}

.gs-steps__marker,
.gs-numbered__marker {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--gs-color-secondary);
	font-family: var(--gs-font-text);
	font-size: 14px;
	font-weight: 600;
	color: var(--gs-color-primary);
}

.gs-steps__marker {
	display: block;
	width: auto;
	height: 20px;
	border-radius: 0;
	background: none;
	font-size: 20px;
	line-height: 20px;
	color: var(--gs-color-primary);
}

.gs-steps__title,
.gs-numbered__title {
	margin: 0 0 7px;
	font-family: var(--gs-font-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 18px;
	color: var(--gs-color-primary);
}

.gs-steps__text,
.gs-numbered__text {
	margin: 0;
	font-size: 14px;
	line-height: 15px;
	color: var(--gs-color-text);
}

/* Нумерованный список */
.gs-numbered {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: var(--gs-space-3);
}

.gs-numbered--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gs-numbered__item {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: var(--gs-space-2);
	align-items: start;
}

/* FAQ */
.gs-faq {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	align-items: stretch;
}

.gs-faq__aside {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 10px;
	background: none;
	border-radius: 0;
	text-align: center;
}

.gs-faq__image {
	width: 80%;
	max-width: 440px;
	height: auto;
	margin: 0;
	border-radius: var(--gs-radius-card);
}

.gs-faq__aside-title {
	margin: 0;
	padding: 10px 5px;
	font-family: var(--gs-font-heading);
	font-size: 20px;
	font-weight: 700;
	line-height: 20px;
	color: var(--gs-color-primary);
}

.gs-faq__aside-text {
	margin: 0;
	padding: 0 5px 10px;
	font-size: 14px;
	line-height: 21px;
}

/* Аккордеон */
.gs-faq__list {
	padding: 10px;
}

.gs-accordion {
	display: grid;
	gap: 8px;
}

.gs-accordion__item {
	padding: 0;
}

.gs-accordion__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 16px 0 16px 16px;
	border-inline-start: 2px solid var(--gs-color-primary);
	cursor: pointer;
	list-style: none;
	font-family: var(--gs-font-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	color: #1f2124;
}

.gs-accordion__summary::-webkit-details-marker {
	display: none;
}

.gs-accordion__chevron {
	width: 11px;
	height: 13px;
	transition: transform var(--gs-transition-fast) ease;
	color: var(--gs-color-primary);
}

.gs-accordion__item[open] .gs-accordion__chevron {
	transform: rotate(180deg);
}

.gs-accordion__answer {
	padding: 8px 16px 6px 16px;
	font-size: 14px;
	line-height: 21px;
	color: var(--gs-color-text);
}

.gs-accordion__answer p {
	margin: 0;
}

/* CTA-баннер: два стиля — light и dark; dotted и reverse — модификаторы. */
.gs-cta {
	margin-block: 40px 30px;
	padding-block: 0;
}

.gs-cta--light {
	background: var(--gs-color-secondary);
	color: var(--gs-color-primary);
}

.gs-cta--dark {
	background: var(--gs-color-primary);
	color: var(--gs-color-secondary);
}

.gs-cta__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--gs-space-4);
	align-items: center;
	padding-block: 40px;
}

.gs-cta__content {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 10px;
}

.gs-cta__title {
	margin: 0;
	padding: 10px 5px;
	font-size: 35px;
	line-height: 35px;
}

.gs-cta--light .gs-cta__title {
	color: var(--gs-color-primary);
}

.gs-cta--dark .gs-cta__title {
	color: var(--gs-color-secondary);
}

.gs-cta__text {
	margin: 0;
	padding: 5px 0;
	font-size: 21px;
	font-weight: 500;
	line-height: 27px;
}

.gs-cta__figure {
	position: relative;
	margin: 0;
	min-height: 0;
}

.gs-cta__content .gs-button {
	align-self: flex-start;
}

@media (min-width: 1025px) {
	.gs-cta__inner {
		grid-template-columns: minmax(0, 570px) minmax(0, 570px);
		gap: 0;
		min-height: 410px;
	}

	.gs-cta__content {
		min-height: 330px;
		justify-content: flex-start;
	}

	.gs-cta--dark .gs-cta__inner {
		min-height: 420px;
	}

	.gs-cta--dark .gs-cta__content {
		min-height: 340px;
	}

	.gs-cta__figure {
		align-self: start;
		height: 0;
	}

	.gs-cta__figure .gs-cta__image {
		position: absolute;
		top: 10px;
		right: 0;
		width: 393px;
		height: 393px;
	}

	.gs-faq {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.gs-faq--aside-start .gs-faq__aside {
		order: -1;
	}

	.gs-faq--aside-end .gs-faq__aside {
		order: 2;
	}
}

.gs-cta--reverse .gs-cta__content {
	order: 2;
}

.gs-cta--reverse .gs-cta__figure {
	order: 1;
}

.gs-cta__figure .gs-cta__image {
	border-radius: var(--gs-radius-card);
}

.gs-cta__figure--dotted {
	padding: 0;
	border: 0;
	border-radius: 0;
}

.gs-cta__figure--dotted .gs-cta__image {
	border: 2px dotted var(--gs-color-accent);
}

.gs-cta--dark .gs-cta__figure--dotted .gs-cta__image {
	border-color: var(--gs-color-primary);
}

.gs-cta__image {
	width: 100%;
	height: auto;
}

/* Единая поверхность контентных карточек. Содержимое задают модификаторы. */
.gs-surface-card {
	padding: var(--gs-space-3);
	background: var(--gs-color-secondary);
	border-radius: var(--gs-radius-card);
}

.gs-feature-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	padding: 20px;
}

@media (min-width: 1025px) {
	.gs-feature-card {
		min-height: 221px;
	}
}

.gs-feature-card__icon,
.gs-contact-card__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: var(--gs-space-2);
	border-radius: 50%;
	background: var(--gs-color-accent);
	color: var(--gs-color-white);
}

.gs-feature-card__title,
.gs-contact-card__title,
.gs-info-card__title,
.gs-unique-card__title {
	margin: 0 0 var(--gs-space-1);
	font-family: var(--gs-font-text);
	font-size: 20px;
	font-weight: 600;
}

.gs-feature-card__title {
	margin: 0;
	font-size: 23px;
	font-weight: 600;
	line-height: 23px;
	color: var(--gs-color-primary);
}

.gs-feature-card__text,
.gs-contact-card__text,
.gs-info-card__text,
.gs-unique-card__text {
	margin: 0 0 var(--gs-space-2);
	font-size: 13px;
	line-height: 1.5;
}

.gs-feature-card__text {
	margin: 0;
	font-size: 13px;
	line-height: 19.5px;
	color: var(--gs-color-text);
}

.gs-contact-card__value {
	margin: 0 0 var(--gs-space-2);
	font-weight: 600;
}

.gs-info-card--highlight {
	background: var(--gs-color-primary);
	color: var(--gs-color-secondary);
}

.gs-info-card--highlight a {
	color: var(--gs-color-secondary);
}

.gs-unique-card {
	background: var(--gs-color-white);
	border: 1px solid var(--gs-color-border);
}

.gs-unique-card__number {
	display: inline-block;
	margin-bottom: var(--gs-space-1);
	font-family: var(--gs-font-heading);
	font-size: 26px;
	font-weight: 700;
	color: var(--gs-color-accent);
}

/* Карточки проектов */
.gs-project-card {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-height: 334px;
	padding: 20px;
	background: var(--gs-color-secondary);
	border-radius: var(--gs-radius-card);
	overflow: hidden;
}

.gs-project-card__image {
	width: 100%;
	height: auto;
	margin: 0;
	border-radius: var(--gs-radius-card);
	background: var(--gs-color-white);
}

.gs-project-card__body {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 0;
	flex: 1;
	min-width: 0;
}

.gs-project-card__title {
	margin: 0;
	font-family: var(--gs-font-heading);
	font-size: 20px;
	font-weight: 700;
	line-height: 20px;
	color: var(--gs-color-primary);
}

.gs-project-card__text,
.gs-project-card__status {
	margin: 0;
	font-size: 14px;
	line-height: 19px;
	color: var(--gs-color-primary);
}

.gs-project-card__body .gs-button {
	align-self: flex-start;
	margin-top: auto;
}

.gs-project-card__body .gs-button__icon {
	width: 14px;
	height: 14px;
}

/* Кейсы */
.gs-section--cases {
	padding-block: 0;
}

.gs-case-rows {
	display: grid;
	padding: 0;
}

.gs-case-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	padding: 10px 0;
}

.gs-case-row__cases {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 10px;
	min-width: 0;
}

.gs-case-row__media {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 10px;
	min-width: 0;
}

.gs-case-row__image {
	width: 385px;
	max-width: 100%;
	height: auto;
	border-radius: 0;
}

.gs-case {
	padding: 10px;
}

.gs-case__inner {
	display: flex;
	gap: 20px;
	align-items: center;
}

.gs-case__body {
	flex: 1;
	min-width: 0;
	padding: 10px 5px 10px 10px;
}

.gs-case__number {
	font-family: var(--gs-font-text);
	font-size: 20px;
	font-weight: 600;
	line-height: 20px;
	color: var(--gs-color-primary);
}

.gs-case__title {
	margin: 0 0 7px;
	font-family: var(--gs-font-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 18px;
	color: var(--gs-color-primary);
}

.gs-case__content {
	font-size: 14px;
	line-height: 21px;
	color: var(--gs-color-text);
}

.gs-case__content ul {
	margin: 0;
	padding-inline-start: 40px;
	width: calc(100% + 10px);
}

/* Заголовок секции и следующий блок: у заголовка свой ритм, лишнего padding нет. */
.gs-section--heading {
	padding-block: 0;
}

/* Иконочные списки */
.gs-icon-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: var(--gs-space-1);
}

.gs-icon-list--cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gs-icon-list--cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gs-icon-list__item {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
}

.gs-icon-list__icon {
	color: var(--gs-color-accent);
	flex: 0 0 auto;
}

/* Логотипы */
.gs-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--gs-space-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.gs-logos__item {
	display: flex;
	align-items: center;
}

.gs-logos__image {
	max-height: 48px;
	width: auto;
	filter: grayscale(1);
	transition: filter var(--gs-transition-fast) ease;
}

.gs-logos__link:hover .gs-logos__image {
	filter: none;
}

/* Цифры */
.gs-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--gs-space-3);
	margin: 0;
}

.gs-stats__value {
	margin: 0;
	font-family: var(--gs-font-heading);
	font-size: 35px;
	font-weight: 700;
	color: var(--gs-color-accent);
}

.gs-stats__label {
	margin: 0;
	font-size: 13px;
	color: var(--gs-color-muted);
}

.gs-stats__claim {
	font-size: 21px;
	font-weight: 500;
}

/* Колонки со списками */
.gs-feature-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--gs-space-4);
}

.gs-feature-columns--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gs-feature-column__title {
	margin: 0 0 var(--gs-space-2);
	font-size: 20px;
}

.gs-feature-column__list {
	margin: 0;
	padding-inline-start: 1.1em;
	font-size: 14px;
}

.gs-feature-column__item {
	margin-bottom: 6px;
}

/* Кнопки-теги */
.gs-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gs-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Вкладки */
.gs-tabs__list {
	display: inline-flex;
	gap: 4px;
	margin-bottom: var(--gs-space-3);
	padding: 4px;
	background: var(--gs-color-zebra);
	border-radius: var(--gs-radius-button);
}

.gs-tabs__tab {
	padding: 10px 18px;
	border: 0;
	border-radius: var(--gs-radius-button);
	background: transparent;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.gs-tabs__tab.is-active {
	background: var(--gs-color-white);
	color: var(--gs-color-accent);
}

/* Сообщения */
.gs-alert {
	display: flex;
	align-items: flex-start;
	gap: var(--gs-space-1);
	padding: var(--gs-space-2);
	border-radius: var(--gs-radius-field);
	border: 1px solid var(--gs-color-border);
	background: var(--gs-color-surface);
}

.gs-alert--success {
	border-color: #16a34a;
}

.gs-alert--success .gs-alert__icon {
	color: #16a34a;
}

.gs-alert--error {
	border-color: var(--gs-color-accent);
}

.gs-alert--error .gs-alert__icon {
	color: var(--gs-color-accent);
}

.gs-alert--warning .gs-alert__icon {
	color: #d97706;
}

.gs-alert__title {
	margin: 0;
	font-weight: 600;
}

.gs-alert__text {
	margin: 0;
	font-size: 14px;
}

.gs-alert__close {
	margin-inline-start: auto;
	padding: 4px;
	border: 0;
	background: none;
	cursor: pointer;
}

/* Таблица тарифов */
.gs-pricing__panel {
	display: none;
}

.gs-pricing__panel.is-active {
	display: block;
}

.gs-pricing__table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.gs-pricing__table th,
.gs-pricing__table td {
	padding: 12px 10px;
	border-bottom: 1px solid var(--gs-color-border);
	text-align: center;
	font-size: 14px;
}

.gs-pricing__corner,
.gs-pricing__feature {
	text-align: start;
	width: 26%;
	font-weight: 600;
}

.gs-pricing__feature--accent {
	color: var(--gs-color-accent);
}

.gs-pricing__plan-label {
	display: block;
	font-size: 16px;
	font-weight: 700;
}

.gs-pricing__plan-price {
	display: block;
	font-family: var(--gs-font-heading);
	font-size: 26px;
	font-weight: 700;
}

.gs-pricing__plan-period {
	display: block;
	font-family: var(--gs-font-text);
	font-size: 12px;
	font-weight: 400;
	color: var(--gs-color-muted);
}

.gs-pricing__row:nth-child(even) .gs-pricing__cell,
.gs-pricing__row:nth-child(even) .gs-pricing__feature {
	background: var(--gs-color-zebra);
}

.gs-pricing__icon {
	display: inline-block;
}

.gs-pricing__icon--yes {
	color: #16a34a;
}

.gs-pricing__icon--no {
	color: var(--gs-color-border);
}

.gs-pricing__value {
	font-weight: 600;
}

.gs-pricing__cards {
	display: none;
	gap: var(--gs-space-3);
}

.gs-pricing-card {
	padding: var(--gs-space-3);
	border: 1px solid var(--gs-color-border);
	border-radius: var(--gs-radius-card);
}

.gs-pricing-card__title {
	margin: 0;
	font-size: 20px;
}

.gs-pricing-card__price {
	margin: 0 0 var(--gs-space-2);
	font-family: var(--gs-font-heading);
	font-size: 26px;
	font-weight: 700;
}

.gs-pricing-card__period {
	display: block;
	font-family: var(--gs-font-text);
	font-size: 12px;
	font-weight: 400;
	color: var(--gs-color-muted);
}

.gs-pricing-card__list {
	margin: 0 0 var(--gs-space-2);
	padding: 0;
	list-style: none;
	font-size: 14px;
}

.gs-pricing-card__item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-block: 6px;
	border-bottom: 1px solid var(--gs-color-zebra);
}

.gs-pricing-card__feature {
	flex: 1;
}

.gs-pricing-card__value {
	font-weight: 600;
}

/* Товары */
.gs-products {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gs-product-card {
	display: flex;
	flex-direction: column;
	gap: var(--gs-space-1);
	padding: var(--gs-space-3);
	background: var(--gs-color-secondary);
	border-radius: var(--gs-radius-card);
}

.gs-product-card__link {
	color: var(--gs-color-primary);
	font-size: 18px;
	font-weight: 700;
}

.gs-product-card__media img {
	width: 100%;
	border-radius: var(--gs-radius-card);
	margin-bottom: var(--gs-space-1);
}

.gs-product-card__price {
	margin: 0;
	font-weight: 700;
	color: var(--gs-color-primary);
}

.gs-product-card__excerpt {
	margin: 0 0 var(--gs-space-1);
	font-size: 13px;
	color: var(--gs-color-muted);
}

/* Формы */
.gs-form__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--gs-space-2);
}

.gs-field--wide {
	grid-column: 1 / -1;
}

.gs-form__honeypot {
	position: absolute;
	inset-inline-start: -9999px;
}

.gs-form__actions {
	display: flex;
	align-items: center;
	gap: var(--gs-space-2);
	margin-top: var(--gs-space-2);
}

.gs-form__note {
	margin: 0;
	font-size: 12px;
	color: var(--gs-color-muted);
}

.gs-form__messages:empty {
	display: none;
}

.gs-form__messages {
	margin-top: var(--gs-space-2);
}

.gs-field__required {
	color: var(--gs-color-accent);
}

/* Скелетон загрузки */
.gs-skeleton {
	display: grid;
	gap: 8px;
}

.gs-skeleton__line {
	height: 12px;
	border-radius: 6px;
	background: linear-gradient(90deg, var(--gs-color-zebra), #fff, var(--gs-color-zebra));
	background-size: 200% 100%;
	animation: gs-skeleton 1.4s ease infinite;
}

@keyframes gs-skeleton {
	from {
		background-position: 200% 0;
	}
	to {
		background-position: -200% 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gs-skeleton__line {
		animation: none;
	}
}

/* Адаптив: планшет */
@media (max-width: 1024px) {
	.gs-faq,
	.gs-media,
	.gs-cta__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.gs-feature-columns,
	.gs-feature-columns--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gs-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gs-pricing__table {
		display: none;
	}

	.gs-pricing__cards {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Адаптив: мобильный */
@media (max-width: 767px) {
	.gs-hero {
		padding-block: 40px 24px;
	}

	.gs-hero__actions .gs-button {
		width: 100%;
	}

	.gs-section {
		padding-block: 24px;
	}

	.gs-media,
	.gs-feature-columns,
	.gs-feature-columns--3,
	.gs-icon-list--cols-2,
	.gs-icon-list--cols-3,
	.gs-numbered--2,
	.gs-stats {
		grid-template-columns: minmax(0, 1fr);
	}

	.gs-pricing__cards,
	.gs-form__fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.gs-pricing__table {
		display: none;
	}

	.gs-section--reverse .gs-media__body,
	.gs-section--reverse .gs-media__figure {
		order: 0;
	}

	.gs-case {
		grid-template-columns: 40px minmax(0, 1fr);
	}

	.gs-tabs__list {
		display: flex;
		width: 100%;
	}

	.gs-tabs__tab {
		flex: 1;
	}
}
.gs-form-media {
	display: grid;
	grid-template-columns: 456px minmax(0, 1fr);
	gap: 0;
	align-items: start;
}

.gs-form-media__figure {
	margin: 0;
	padding: 10px;
}

.gs-form-media__image {
	width: 393px;
	max-width: 100%;
	height: auto;
}

.gs-form-media .gs-form-wrap {
	max-width: 540px;
	padding: 10px 0;
	margin-inline-start: 8px;
}

.gs-form-media textarea.gs-field__input {
	height: 60px;
	min-height: 60px;
}

.gs-form-media--solo {
	display: block;
}

.gs-form-media--solo .gs-form-wrap {
	max-width: none;
	margin: 0;
}

@media (max-width: 767px) {
	.gs-form-media {
		grid-template-columns: minmax(0, 1fr);
	}

	.gs-form-media__image {
		width: 100%;
	}

	.gs-form-media .gs-form-wrap {
		margin-inline-start: 0;
	}
}

/* Юридические страницы */
.gs-legal-head {
	padding: 70px 0 40px;
}

.gs-legal-head > .gs-container,
.gs-legal-body > .gs-container {
	padding-inline: 0;
}

.gs-legal-head__title {
	margin: 0 5px;
	padding-block: 10px;
	font-size: 35px;
	line-height: 35px;
	color: var(--gs-color-primary);
}

.gs-legal-head__date {
	margin: 5px 5px 0;
	padding-block: 5px;
	font-size: 21px;
	font-weight: 500;
	line-height: 27px;
	color: var(--gs-color-primary);
}

.gs-legal-body {
	padding-block: 10px;
}

.gs-legal-body p,
.gs-legal-body li {
	font-size: 18px;
	line-height: 24px;
	color: #000;
}

.gs-legal-body p {
	margin: 0 0 14.4px;
}

.gs-legal-body ul {
	padding-inline-start: 40px;
}
